forked from extern/egroupware
Compare commits
596 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
5c9a1322c4 | ||
|
32cc36d269 | ||
|
75f25867a6 | ||
|
f3784d9286 | ||
|
5bc91fba83 | ||
|
d53628edc0 | ||
|
912e2881d9 | ||
|
f8e277733d | ||
|
9d972dc7c5 | ||
|
161ae77e61 | ||
|
0c89fe6661 | ||
|
9a37b65ee5 | ||
|
9a8b790d50 | ||
|
f9a4c8c48b | ||
|
ee8b9cb617 | ||
|
65dc637c5d | ||
|
0bdbec1fc8 | ||
|
d893fe7af0 | ||
|
80a4be76ff | ||
|
46fa2a5f77 | ||
|
19189042b7 | ||
|
b211bae5b8 | ||
|
c62a5aa13d | ||
|
0a303c032a | ||
|
b00823c636 | ||
|
2045c0fd31 | ||
|
749f20c718 | ||
|
dea97a8f05 | ||
|
59b6aafc8a | ||
|
98eacac2b6 | ||
|
230d666597 | ||
|
8cd67e0af7 | ||
|
9310a2b0d8 | ||
|
0aacf11b43 | ||
|
8c1d96907d | ||
|
c34031bdee | ||
|
9593134a7c | ||
|
97449cce68 | ||
|
0d925fd9fd | ||
|
ad0ffffd32 | ||
|
f035f30dd8 | ||
|
4cd24e87ee | ||
|
bcdc5ca175 | ||
|
d388206b8c | ||
|
7de0936dbb | ||
|
328f92cedf | ||
|
d7befada9c | ||
|
c749c71216 | ||
|
e99558d39f | ||
|
4987cc1b4d | ||
|
d8766c735a | ||
|
d58b746bf5 | ||
|
3f9f60bfca | ||
|
8be03a98ac | ||
|
ea623e16bc | ||
|
6047b7930a | ||
|
0a202da4a6 | ||
|
f12f7ce27c | ||
|
6d90e4a5d1 | ||
|
51cce571ea | ||
|
005787a2b2 | ||
|
209dec4c55 | ||
|
f09f846d4e | ||
|
6785a48dff | ||
|
fc52dfa528 | ||
|
8ed01db988 | ||
|
5075294848 | ||
|
5e3b6067c7 | ||
|
2f2bc79253 | ||
|
dcfe59c670 | ||
|
9611d73062 | ||
|
b27b1e7b37 | ||
|
2cb616909c | ||
|
c3c5d1103f | ||
|
4995202b8f | ||
|
35f6385a6b | ||
|
69103a7fce | ||
|
de52ae46bb | ||
|
65a47aa477 | ||
|
b4fed2873b | ||
|
60d87a616d | ||
|
41f102b40e | ||
|
b922519935 | ||
|
b70155b43b | ||
|
efc00ad7b1 | ||
|
3ed265e4fe | ||
|
d11ce583fb | ||
|
69a6bf75cd | ||
|
60471a000a | ||
|
3102177fbc | ||
|
a200ab98f9 | ||
|
3f25e174d9 | ||
|
e07d734ca8 | ||
|
c17f3f08cd | ||
|
31d82ac72b | ||
|
222f572a35 | ||
|
7728281dcc | ||
|
d20dddcac0 | ||
|
a13ffff62e | ||
|
ed9214bf1a | ||
|
864fc5adc1 | ||
|
c9cd0f4ce4 | ||
|
8687767403 | ||
|
3f326954e4 | ||
|
734dc8e859 | ||
|
8b634510aa | ||
|
8423544939 | ||
|
370ebff682 | ||
|
4962c59833 | ||
|
8fec4d6b94 | ||
|
ed397791dc | ||
|
f6d1db1c09 | ||
|
5a575d3cd8 | ||
|
00ad0fbb35 | ||
|
35883b5ace | ||
|
082e01874a | ||
|
22a3b97bb7 | ||
|
bb00bb1bc8 | ||
|
d1f2b15a61 | ||
|
73cf603590 | ||
|
dbff057e89 | ||
|
ee4820f782 | ||
|
1bc9aca110 | ||
|
e1fb66f4a1 | ||
|
7fb989508c | ||
|
284ca304ae | ||
|
ae5bd4139b | ||
|
9aa8ee01a5 | ||
|
0bdd1282dd | ||
|
0c70727073 | ||
|
a95732eb13 | ||
|
af45b86e55 | ||
|
e687b23c1f | ||
|
bfd8b94b09 | ||
|
a2119f7fd4 | ||
|
8864f5cb07 | ||
|
4d325a63d3 | ||
|
81f2d510f9 | ||
|
5f95d05cfe | ||
|
511f626752 | ||
|
36aa55fa27 | ||
|
0dc7e88000 | ||
|
c2fc58f757 | ||
|
4266676db2 | ||
|
7190cf27e8 | ||
|
352ad138a6 | ||
|
786e16749f | ||
|
00bf02a8e7 | ||
|
8770e59120 | ||
|
b407ea4c8e | ||
|
cd7ae8c813 | ||
|
30f48939b8 | ||
|
5b4f0076f2 | ||
|
3f108b9144 | ||
|
f87c13704e | ||
|
a7c54190d7 | ||
|
aa90344f91 | ||
|
03250b9e77 | ||
|
7c1d9fc056 | ||
|
8e3009acfe | ||
|
01c56eea9e | ||
|
4306e0305b | ||
|
431dc5848c | ||
|
e1381f2a95 | ||
|
85c2676045 | ||
|
a0117727bf | ||
|
b78673955a | ||
|
52e7de7ef0 | ||
|
4b3847a069 | ||
|
a2602b1570 | ||
|
df16087de0 | ||
|
8207f03cdd | ||
|
8175306dea | ||
|
796beca7b1 | ||
|
a3f27276bd | ||
|
1e47770279 | ||
|
19081734cd | ||
|
9e0f73f0dc | ||
|
8368344f0f | ||
|
e5ebfd96db | ||
|
aa851924b1 | ||
|
7b4316d735 | ||
|
671a0293ef | ||
|
31be31954e | ||
|
12ea8c4b1a | ||
|
306c9455c5 | ||
|
55e14b525b | ||
|
635c7118e5 | ||
|
192cbd836a | ||
|
88ac091e2a | ||
|
77dc590614 | ||
|
96a47f2dff | ||
|
ee00114a2e | ||
|
3935667813 | ||
|
aa779da763 | ||
|
151b32da10 | ||
|
91d3abd608 | ||
|
19472152e6 | ||
|
1c6ca4eb7a | ||
|
6433df94ec | ||
|
79a2c95678 | ||
|
c0c3028f37 | ||
|
e2f7cd790f | ||
|
fda3d2bad6 | ||
|
44707ff64c | ||
|
df4a507959 | ||
|
ec4778f6bc | ||
|
ec3d8a7869 | ||
|
71c52d4e43 | ||
|
003d1c1c94 | ||
|
df8581e1f6 | ||
|
e3fa760a9a | ||
|
caeea37842 | ||
|
3221c6e8ba | ||
|
fe80f41d3f | ||
|
828123e4f8 | ||
|
a8803dbd9a | ||
|
2c81925b20 | ||
|
e227c3c4c3 | ||
|
a95b0a16be | ||
|
cdb9e81f69 | ||
|
3d71baeff1 | ||
|
119f79bc8d | ||
|
1f88a89502 | ||
|
dc0909aa86 | ||
|
fd4a50b255 | ||
|
2ff7062b22 | ||
|
ed759ac587 | ||
|
c39ea23c93 | ||
|
e7ca065e74 | ||
|
9989afab6c | ||
|
a93f882f50 | ||
|
e90ad24156 | ||
|
26c2eec08f | ||
|
b851d88ac8 | ||
|
45e647b9d2 | ||
|
888eb2b3cb | ||
|
335b2b0f7d | ||
|
7d49fe21b8 | ||
|
2ac41f2803 | ||
|
d899be3124 | ||
|
84a1412c53 | ||
|
9993092b7f | ||
|
30234979e4 | ||
|
459941bd84 | ||
|
83a61a8766 | ||
|
e5887937cc | ||
|
4d046e3727 | ||
|
1e32ee4442 | ||
|
b1ba17a702 | ||
|
41f055f874 | ||
|
908b729c7f | ||
|
d21599f47f | ||
|
03f38f9233 | ||
|
8e5ee31e56 | ||
|
bfd2736629 | ||
|
54fd41a16a | ||
|
a1ee7d5cbf | ||
|
fd884940f8 | ||
|
7f264987a6 | ||
|
d4b9dee585 | ||
|
2cb6179a5e | ||
|
0e05b016ed | ||
|
34fd086dd0 | ||
|
6eb975f0da | ||
|
5db82f568d | ||
|
8b59123838 | ||
|
208560abbb | ||
|
66c566cb71 | ||
|
c5d6ab6974 | ||
|
9b958eed5e | ||
|
86c2be2efa | ||
|
9e5c2633d4 | ||
|
611c36026f | ||
|
ad137415aa | ||
|
95d4631f61 | ||
|
6c1f963aee | ||
|
a23919ea4b | ||
|
6549ed94a2 | ||
|
1a3a131b0d | ||
|
b1d33d5277 | ||
|
34ec3c2124 | ||
|
f5dbc57e64 | ||
|
e91b10b709 | ||
|
67bd6b14bd | ||
|
afd6dd3ef0 | ||
|
28904f7aa8 | ||
|
9c3d1fb334 | ||
|
ca6816499a | ||
|
6be4fa193f | ||
|
e340d34810 | ||
|
f6a3622115 | ||
|
3e144635b0 | ||
|
ebaf0059d3 | ||
|
30cdad7e50 | ||
|
aacbe20355 | ||
|
6ede93ebc8 | ||
|
024faa2a3c | ||
|
684650da2b | ||
|
cf32f68858 | ||
|
30a6a67337 | ||
|
ed326ddc69 | ||
|
2ccff23c6f | ||
|
f7586299c0 | ||
|
b62769624e | ||
|
3417bc8115 | ||
|
0e976fc169 | ||
|
707a118184 | ||
|
57e01e2b0c | ||
|
faf7ad8ddf | ||
|
9e7a9d9291 | ||
|
9a7830b6d7 | ||
|
a768722232 | ||
|
ccb408af27 | ||
|
3c23ce30e0 | ||
|
74fecd8e63 | ||
|
18ff8a6fa7 | ||
|
781048414b | ||
|
3a5e270948 | ||
|
05133a122f | ||
|
a8f61e517d | ||
|
a276e48d48 | ||
|
a08a1887a4 | ||
|
e2a43a60ed | ||
|
e47eda2580 | ||
|
93d9e51982 | ||
|
da7f122896 | ||
|
dbcd815fb5 | ||
|
98d4f86f0f | ||
|
55d9e1c8f5 | ||
|
8bc9e7dc87 | ||
|
3f2b6c9a21 | ||
|
f493966008 | ||
|
00c61c6370 | ||
|
72d662d3c3 | ||
|
09da0383bc | ||
|
3727953eca | ||
|
c6653c4be6 | ||
|
5ee8546dfe | ||
|
dd8b6720af | ||
|
414c1831ab | ||
|
828210e4e7 | ||
|
f689ec238f | ||
|
61ef55ffb8 | ||
|
4044382c8a | ||
|
a7462214e6 | ||
|
c819f15dbc | ||
|
b287fce527 | ||
|
b487a1b03a | ||
|
ea04e9b4ce | ||
|
013426f63d | ||
|
c503bcde8c | ||
|
3e169bcf7f | ||
|
2f88277af7 | ||
|
39296e9d41 | ||
|
10cca5562d | ||
|
5318ca1084 | ||
|
85fc25cefc | ||
|
b37bf593e8 | ||
|
9f7c273474 | ||
|
6fb5c51994 | ||
|
6284e79259 | ||
|
88c0568a4a | ||
|
5c07584db0 | ||
|
9752dbb70a | ||
|
74c1a1f614 | ||
|
338ba10968 | ||
|
a512b00cad | ||
|
ef9cc92be5 | ||
|
53b5e86323 | ||
|
910b08dd27 | ||
|
8ab3508d31 | ||
|
d6938d25a9 | ||
|
784ea70539 | ||
|
24a4bdd1d6 | ||
|
d2292f093b | ||
|
c94d6f9fad | ||
|
1b5e27616b | ||
|
4c3cb299d3 | ||
|
84d56c01c9 | ||
|
4f4f58b159 | ||
|
8e5de9e041 | ||
|
7d92143b11 | ||
|
d8c99b809e | ||
|
515c1cbefc | ||
|
73f6e47071 | ||
|
f0ea41b67e | ||
|
bf712c89b0 | ||
|
80a05bb51c | ||
|
a5155997f6 | ||
|
a54df4b480 | ||
|
4d4962769a | ||
|
4fca7fb43c | ||
|
45565d098b | ||
|
7f66558a87 | ||
|
08aa2d4606 | ||
|
1423948060 | ||
|
a7f5776ae3 | ||
|
7ccd8c2588 | ||
|
39fee5d8bc | ||
|
9b3dc190fe | ||
|
02edb9ec96 | ||
|
195e55bee8 | ||
|
91512da5c2 | ||
|
1bc20dec28 | ||
|
48f13f3bb9 | ||
|
e40f887d8e | ||
|
c39b2e4de1 | ||
|
18f2db2fc8 | ||
|
c37e1885ff | ||
|
44891a8c3a | ||
|
dab1b3a225 | ||
|
95f6ced9b7 | ||
|
bbcf5dc565 | ||
|
463d61fa36 | ||
|
84bd571ae8 | ||
|
3a6ed9ce4e | ||
|
a874ad53a4 | ||
|
326a31722b | ||
|
3d195218f1 | ||
|
fed41cf05e | ||
|
fac44715bb | ||
|
3d5a57ca7b | ||
|
b5c8df2015 | ||
|
755c9103f6 | ||
|
656d784fb3 | ||
|
201f498a9c | ||
|
907da227e6 | ||
|
e841d31273 | ||
|
2fc2d839a5 | ||
|
f0a9869bb3 | ||
|
8a3f20194c | ||
|
617f495266 | ||
|
48d3614d6c | ||
|
24513a3161 | ||
|
8b11add4d5 | ||
|
3e10713adb | ||
|
35c5f03fb8 | ||
|
69581e9354 | ||
|
0bfa82e6dc | ||
|
7cd2fba856 | ||
|
995cc63822 | ||
|
cd9879112e | ||
|
9fabbf434a | ||
|
2fc7222f68 | ||
|
f11f8a4352 | ||
|
f6b968a4e6 | ||
|
68ba51f8d8 | ||
|
38de60f8dc | ||
|
8569f2d627 | ||
|
fdd305a8a0 | ||
|
ce593cac12 | ||
|
f9b3805dc8 | ||
|
9a027d3346 | ||
|
77d2fa4b73 | ||
|
8cbd43d9be | ||
|
16e9cc7e37 | ||
|
59a3974dc7 | ||
|
e33a0ce020 | ||
|
a13fec8ae1 | ||
|
af026d125e | ||
|
4d020e026e | ||
|
4af5bbc82d | ||
|
424fa5ffd8 | ||
|
8f90aa2d51 | ||
|
8a3693d8d2 | ||
|
ad788f03c8 | ||
|
ad1a7f3451 | ||
|
b4f242e75e | ||
|
d2edcf6e24 | ||
|
6ebe25f6b9 | ||
|
4d1d92766a | ||
|
4bdd3e2772 | ||
|
f130d16ddd | ||
|
bdcbce7f68 | ||
|
a63bba2e4d | ||
|
e117b8108f | ||
|
c7730ea6f9 | ||
|
81397f888c | ||
|
972decd75f | ||
|
f2a724fb9d | ||
|
947b78e0a1 | ||
|
b209a64f56 | ||
|
e23838596c | ||
|
fad005ac62 | ||
|
d26e172992 | ||
|
9acc5f2037 | ||
|
79355f0417 | ||
|
6ed9587671 | ||
|
09aa8c46bb | ||
|
cfc74f5918 | ||
|
842adfd6b0 | ||
|
1af0e3b409 | ||
|
a4e67abeff | ||
|
59832ed87e | ||
|
accff8c9c2 | ||
|
18897b4367 | ||
|
258aa9e31f | ||
|
9ecd56d384 | ||
|
6af142202b | ||
|
0103833728 | ||
|
1b27516fbc | ||
|
c438279e03 | ||
|
acc4f5030e | ||
|
4e37e78c97 | ||
|
6687ee2a50 | ||
|
8b4fa31275 | ||
|
fd45dee35e | ||
|
b4a4e081e4 | ||
|
405d0c2e19 | ||
|
747c796d1e | ||
|
02b5e725e0 | ||
|
af08fbb532 | ||
|
d3110dfdf3 | ||
|
5bd0eb1e64 | ||
|
88862bcb9b | ||
|
a80ffb6223 | ||
|
1c1ae40e40 | ||
|
cb46bce9cf | ||
|
cfbc2b4b07 | ||
|
8b07ed7ad0 | ||
|
403913f1ae | ||
|
e29c0f75d2 | ||
|
aa26af977d | ||
|
d006b7a69f | ||
|
49cdc5dcbd | ||
|
0198792e5c | ||
|
bc1a92d1cc | ||
|
d70874eabf | ||
|
50624e5929 | ||
|
5e2aeca700 | ||
|
3572551aba | ||
|
1c569982a3 | ||
|
60444db1f1 | ||
|
0ca2692d17 | ||
|
ae752edf13 | ||
|
bae8ae867b | ||
|
ce1412d204 | ||
|
67bfda1e3b | ||
|
cac46f75b0 | ||
|
9ed901daf7 | ||
|
d313eb2daf | ||
|
7d2491678d | ||
|
5d6bc0d0b3 | ||
|
9e30fe47c8 | ||
|
a9830b0650 | ||
|
26555a065c | ||
|
f6f32e3f9f | ||
|
832682620b | ||
|
0b376f24b9 | ||
|
c6d16df5a4 | ||
|
1ca2d5c02a | ||
|
b969464f1e | ||
|
37f5a3c22d | ||
|
67b27f36ec | ||
|
ec6e453088 | ||
|
d887c7a87c | ||
|
7052fe1178 | ||
|
cd54affebe | ||
|
bce3b1daac | ||
|
e5f45ae50c | ||
|
3401b0aeb4 | ||
|
1c51e71119 | ||
|
b2d753f46f | ||
|
e13700dd02 | ||
|
514caa5d0e | ||
|
aae4b8ac8d | ||
|
770207474e | ||
|
cf51ea7120 | ||
|
8169fe41e1 | ||
|
1445e08c72 | ||
|
9d6f449bbd | ||
|
13dd934ddd | ||
|
54d77a5455 | ||
|
b3b0464615 | ||
|
1005e7d060 | ||
|
68d6f0fe69 | ||
|
1ffcad251a | ||
|
1ae2341d7e | ||
|
1f920ebb66 | ||
|
e6ddae1c52 | ||
|
c12518c963 | ||
|
0df909dc6b | ||
|
56820592d2 | ||
|
893b2f548f | ||
|
1a7d6c7c98 | ||
|
d92e121d3c | ||
|
6965e9edbe | ||
|
6dbd2b1bbb | ||
|
16c47cfb2b | ||
|
93202d56ca | ||
|
5d9b703dbc | ||
|
ae3b9c7bc3 | ||
|
60037c286c | ||
|
cf0a88b6d5 | ||
|
73e23e49f5 |
@ -42,7 +42,7 @@ if (isset($_POST['charset']))
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Import CSV-File into Addressbook');
|
||||
$GLOBALS['egw']->common->egw_header();
|
||||
|
||||
$bocontacts = new addressbook_bo();
|
||||
$GLOBALS['egw']->contacts = new contacts();
|
||||
|
||||
//$GLOBALS['egw']->template->set_unknowns('keep');
|
||||
$GLOBALS['egw']->template->set_file(array('import' => 'csv_import.tpl'));
|
||||
@ -64,30 +64,24 @@ $VPre = '|#'; // Value-Prefix, is expanded to \ for ereg_replace
|
||||
$CPre = '|['; $CPreReg = '\|\['; // |{csv-fieldname} is expanded to the value of the csv-field
|
||||
$CPos = ']'; $CPosReg = '\]'; // if used together with @ (replacement is eval-ed) value gets autom. quoted
|
||||
|
||||
/**
|
||||
* Find contact with at least n_family AND (n_given OR org_name) have to match
|
||||
*
|
||||
* @param string $n_family
|
||||
* @param string $n_given
|
||||
* @param string $org_name
|
||||
* @return int|boolean contact id or false if no match
|
||||
*/
|
||||
// find in Addressbook, at least n_family AND (n_given OR org_name) have to match
|
||||
function addr_id($n_family,$n_given,$org_name)
|
||||
{
|
||||
global $bocontacts;
|
||||
$addrs = $bocontacts->search(array('n_family'=>$n_family,'n_given'=>$n_given,'org_name'=>$org_name));
|
||||
$addrs = $GLOBALS['egw']->contacts->search(array('n_family'=>$n_family,'n_given'=>$n_given,'org_name'=>$org_name));
|
||||
if(!count($addrs))
|
||||
{
|
||||
$addrs = $bocontacts->search(array('n_family'=>$n_family,'n_given'=>$n_given));
|
||||
$addrs = $GLOBALS['egw']->contacts->search(array('n_family'=>$n_family,'n_given'=>$n_given));
|
||||
}
|
||||
if(!count($addrs))
|
||||
{
|
||||
$addrs = $bocontacts->search(array('n_family'=>$n_family,'org_name'=>$org_name));
|
||||
$addrs = $GLOBALS['egw']->contacts->search(array('n_family'=>$n_family,'org_name'=>$org_name));
|
||||
}
|
||||
|
||||
if(count($addrs))
|
||||
{
|
||||
return $addrs[0]['id'];
|
||||
}
|
||||
|
||||
return False;
|
||||
}
|
||||
|
||||
@ -125,7 +119,9 @@ switch($_POST['action'])
|
||||
$GLOBALS['egw']->template->set_var('lang_fieldsep',lang('Fieldseparator'));
|
||||
$GLOBALS['egw']->template->set_var('lang_charset',lang('Charset of file'));
|
||||
$GLOBALS['egw']->template->set_var('select_charset',
|
||||
html::select('charset','',translation::get_installed_charsets(),True));
|
||||
html::select('charset','',
|
||||
$GLOBALS['egw']->translation->get_installed_charsets()+
|
||||
array('utf-8' => 'utf-8 (Unicode)'),True));
|
||||
$GLOBALS['egw']->template->set_var('fieldsep',$_POST['fieldsep'] ? $_POST['fieldsep'] : ';');
|
||||
$GLOBALS['egw']->template->set_var('submit',lang('Import'));
|
||||
$GLOBALS['egw']->template->set_var('csvfile',$csvfile);
|
||||
@ -137,8 +133,6 @@ switch($_POST['action'])
|
||||
case 'continue':
|
||||
case 'download':
|
||||
$defaults = $GLOBALS['egw_info']['user']['preferences']['addressbook']['cvs_import'];
|
||||
if (!($unique_id = $GLOBALS['egw_info']['user']['preferences']['addressbook']['cvs_import_unique_id'])) $unique_id = 'id';
|
||||
if (!($unique_id2 = $GLOBALS['egw_info']['user']['preferences']['addressbook']['cvs_import_unique_id2'])) $unique_id2 = 'uid';
|
||||
if(!is_array($defaults))
|
||||
{
|
||||
$defaults = array();
|
||||
@ -152,18 +146,16 @@ switch($_POST['action'])
|
||||
$GLOBALS['egw']->template->set_var('lang_debug',lang('Test Import (show importable records <u>only</u> in browser)'));
|
||||
$GLOBALS['egw']->template->parse('fheaderhandle','fheader');
|
||||
|
||||
$addr_names = $bocontacts->contact_fields;
|
||||
$addr_names = $GLOBALS['egw']->contacts->contact_fields;
|
||||
$addr_names['cat_id'] .= ': id or name, comma separated list';
|
||||
$addr_names['private'] .= ': 0 = public, 1 = private';
|
||||
$addr_names['owner'] .= ': id or account name of user or group, defaults to importing user';
|
||||
$addr_names['bday'] .= ': YYYY-mm-dd';
|
||||
$addr_names['uid'] = lang('Unique ID (UID)');
|
||||
$addr_names['account_id'] = lang('Account ID');
|
||||
unset($addr_names['jpegphoto']); // cant cvs import that
|
||||
$cfs=array();
|
||||
foreach($bocontacts->customfields as $name => $data)
|
||||
|
||||
foreach($GLOBALS['egw']->contacts->customfields as $name => $data)
|
||||
{
|
||||
$cfs['#'.$name] = $addr_names['#'.$name] = $data['label'];
|
||||
$addr_names['#'.$name] = $data['label'];
|
||||
}
|
||||
$addr_name_options = "<option value=\"\">none\n";
|
||||
foreach($addr_names as $field => $name)
|
||||
@ -171,7 +163,7 @@ switch($_POST['action'])
|
||||
$addr_name_options .= "<option value=\"$field\">".$GLOBALS['egw']->strip_html($name)."\n";
|
||||
}
|
||||
$csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
|
||||
$csv_fields = translation::convert($csv_fields,$_POST['charset']);
|
||||
$csv_fields = $GLOBALS['egw']->translation->convert($csv_fields,$_POST['charset']);
|
||||
$csv_fields[] = 'no CSV 1'; // eg. for static assignments
|
||||
$csv_fields[] = 'no CSV 2';
|
||||
$csv_fields[] = 'no CSV 3';
|
||||
@ -192,18 +184,6 @@ switch($_POST['action'])
|
||||
}
|
||||
$GLOBALS['egw']->template->parse('fieldshandle','fields',True);
|
||||
}
|
||||
$GLOBALS['egw']->template->set_var('lang_unique_id',lang('Unique ID<br />(to update existing records)'));
|
||||
$GLOBALS['egw']->template->set_var('unique_id',html::select('unique_id',$unique_id,array(
|
||||
'id' => $addr_names['id'],
|
||||
'uid' => $addr_names['uid'],
|
||||
'account_id' => $addr_names['account_id'],
|
||||
)+$cfs)."\n".html::select('unique_id2',$unique_id2,array(
|
||||
'*none*' => lang('No fallback'),
|
||||
'id' => $addr_names['id'],
|
||||
'uid' => $addr_names['uid'],
|
||||
'addr_id' => lang('two of: %1',$addr_names['org_name'].', '.$addr_names['n_family'].', '.$addr_names['n_given']),
|
||||
)+$cfs));
|
||||
|
||||
$GLOBALS['egw']->template->set_var('lang_start',lang('Startrecord'));
|
||||
$GLOBALS['egw']->template->set_var('start',get_var('start',array('POST'),1));
|
||||
$msg = ($safe_mode = ini_get('safe_mode') == 'On') ? lang('to many might exceed your execution-time-limit'):
|
||||
@ -227,7 +207,7 @@ switch($_POST['action'])
|
||||
"usefull for the last pair, as they are worked from left to right.<p>".
|
||||
"First example: <b>1${ASep}private${PSep}public</b><br>".
|
||||
"This will translate a '1' in the CSV field to 'privat' and everything else to 'public'.<p>".
|
||||
"Patterns as well as the replacement can be regular expressions (the replacement is done via preg_replace). ".
|
||||
"Patterns as well as the replacement can be regular expressions (the replacement is done via ereg_replace). ".
|
||||
"If, after all replacements, the value starts with an '@' the whole value is eval()'ed, so you ".
|
||||
"may use all php, phpgw plus your own functions. This is quiet powerfull, but <u>circumvents all ACL</u>. ".
|
||||
"Therefor this feature is only availible to Adminstrators.<p>".
|
||||
@ -265,15 +245,13 @@ switch($_POST['action'])
|
||||
'max' => $_POST['max'],
|
||||
'debug' => $_POST['debug'],
|
||||
'addr_fields' => $_POST['addr_fields'],
|
||||
'trans' => $_POST['trans'],
|
||||
'unique_id' => $_POST['unique_id'],
|
||||
'unique_id2' => $_POST['unique_id2'],
|
||||
'trans' => $_POST['trans']
|
||||
));
|
||||
@set_time_limit(0);
|
||||
ini_set('auto_detect_line_endings',true); // to allow to import files created eg. on a mac
|
||||
$fp=fopen($csvfile,'r');
|
||||
$csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
|
||||
$csv_fields = translation::convert($csv_fields,$_POST['charset']);
|
||||
$csv_fields = $GLOBALS['egw']->translation->convert($csv_fields,$_POST['charset']);
|
||||
$csv_fields[] = 'no CSV 1'; // eg. for static assignments
|
||||
$csv_fields[] = 'no CSV 2';
|
||||
$csv_fields[] = 'no CSV 3';
|
||||
@ -291,20 +269,10 @@ switch($_POST['action'])
|
||||
}
|
||||
$GLOBALS['egw']->preferences->read_repository();
|
||||
$GLOBALS['egw']->preferences->add('addressbook','cvs_import',$defaults);
|
||||
$GLOBALS['egw']->preferences->add('addressbook','cvs_import_unique_id',$unique_id = $_POST['unique_id']);
|
||||
$GLOBALS['egw']->preferences->add('addressbook','cvs_import_unique_id2',$unique_id2 = $_POST['unique_id2']);
|
||||
$GLOBALS['egw']->preferences->save_repository(True);
|
||||
|
||||
$log = '<table border="1" style="border: 1px dotted black; border-collapse: collapse;">'."\n\t<tr><td>#</td>\n";
|
||||
|
||||
if (!in_array('id',$addr_fields)) // allways show ID
|
||||
{
|
||||
$log .= "\t\t<td><b>ID</b></td>\n";
|
||||
}
|
||||
if (!in_array('owner',$addr_fields)) // allways show addressbook
|
||||
{
|
||||
$log .= "\t\t<td><b>".lang('Addressbook')."</b></td>\n";
|
||||
}
|
||||
if (!in_array('private',$addr_fields)) // autocreate public access if not set by user
|
||||
{
|
||||
$log .= "\t\t<td><b>private</b></td>\n";
|
||||
@ -348,7 +316,7 @@ switch($_POST['action'])
|
||||
{
|
||||
break; // EOF
|
||||
}
|
||||
$fields = translation::convert($fields,$_POST['charset']);
|
||||
$fields = $GLOBALS['egw']->translation->convert($fields,$_POST['charset']);
|
||||
|
||||
$log .= "\t</tr><tr><td>".($start+$anz)."</td>\n";
|
||||
|
||||
@ -362,14 +330,14 @@ switch($_POST['action'])
|
||||
$trans_csv = $_POST['trans'][$csv_idx];
|
||||
while(list($pattern,$replace) = each($trans_csv))
|
||||
{
|
||||
if(preg_match('/'.(string) $pattern.'/',$val))
|
||||
if(ereg((string) $pattern,$val))
|
||||
{
|
||||
// echo "<p>csv_idx='$csv_idx',info='$addr',trans_csv=".print_r($trans_csv).",preg_replace('/$pattern/','$replace','$val') = ";
|
||||
$val = preg_replace('/'.(string) $pattern.'/',str_replace($VPre,'\\',$replace),(string) $val);
|
||||
// echo "'$val'</p>";
|
||||
|
||||
$reg = $CPreReg.'([a-zA-Z_0-9]+)'.$CPosReg;
|
||||
while(preg_match('/'.(string) $reg.'/',$val,$vars))
|
||||
while(ereg($reg,$val,$vars))
|
||||
{ // expand all CSV fields
|
||||
$val = str_replace($CPre . $vars[1] . $CPos, $val[0] == '@' ? "'"
|
||||
. addslashes($fields[array_search($vars[1], $csv_fields)])
|
||||
@ -408,75 +376,27 @@ switch($_POST['action'])
|
||||
// convert dates to timestamps
|
||||
foreach(array('created','modified') as $date)
|
||||
{
|
||||
if (isset($values[$date]) && !is_numeric($values[$date]))
|
||||
if (isset($values[$date]) && !is_numeric($date))
|
||||
{
|
||||
// convert german DD.MM.YYYY format into ISO YYYY-MM-DD format
|
||||
$values[$date] = preg_replace('/([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})/','\3-\2-\1',$values[$date]);
|
||||
// remove fractures of seconds if present at the end of the string
|
||||
if (preg_match('/(.*)\.[0-9]+/',$values[$date],$parts)) $values[$date] = $parts[1];
|
||||
if (ereg('(.*)\.[0-9]+',$values[$date],$parts)) $values[$date] = $parts[1];
|
||||
$values[$date] = strtotime($values[$date]);
|
||||
}
|
||||
}
|
||||
// check unique ids
|
||||
$existing = false;
|
||||
if (!empty($values[$unique_id]))
|
||||
{
|
||||
if ($unique_id == 'id')
|
||||
{
|
||||
$existing = $bocontacts->read($values[$unique_id]);
|
||||
}
|
||||
elseif ($unique_id == 'account_id')
|
||||
{
|
||||
$existing = $bocontacts->read('account:'.$values[$unique_id]);
|
||||
}
|
||||
else
|
||||
{
|
||||
list($existing) = $bocontacts->search(array($unique_id => $values[$unique_id]),false);
|
||||
}
|
||||
}
|
||||
if (!$existing && (!empty($values[$unique_id2]) ||
|
||||
$unique_id2 == 'addr_id' && (!empty($values['org_name'])+!empty($values['n_family'])+!empty($values['n_given'])) >= 2))
|
||||
{
|
||||
if ($unique_id2 == 'id' || $unique_id2 == 'addr_id' &&
|
||||
($values[$unique_id2] = addr_id($values['n_family'],$values['n_given'],$values['org_name'])))
|
||||
{
|
||||
$existing = $bocontacts->read($values[$unique_id2]);
|
||||
}
|
||||
elseif ($unique_id2 != 'addr_id')
|
||||
{
|
||||
list($existing) = $bocontacts->search(array($unique_id2 => $values[$unique_id2]),false);
|
||||
}
|
||||
}
|
||||
//echo "<p>unique_id=$unique_id='{$values[$unique_id]}', unique_id2=$unique_id2='{$values[$unique_id2]}' --> ".array2string($existing)."</p>\n";
|
||||
if ($existing)
|
||||
{
|
||||
unset($values['id']); // to NOT overrite the found one
|
||||
$values = array_merge($existing,$values);
|
||||
}
|
||||
// convert user-names to user-id's
|
||||
foreach(array('owner','modifier','creator','account_id') as $user)
|
||||
foreach(array('owner','modifier','creator') as $user)
|
||||
{
|
||||
if (isset($values[$user]) && !is_numeric($values[$user]))
|
||||
if (isset($values[$user]) && !is_numeric($user))
|
||||
{
|
||||
if (preg_match('/\[([^\]]+)\]/',$values[$user],$matches)) $values[$user] = $matches[1];
|
||||
$values[$user] = $GLOBALS['egw']->accounts->name2id($values[$user],'account_lid',$user=='owner'?null:'u');
|
||||
}
|
||||
}
|
||||
if (!isset($values['owner']) || isset($values['owner']) && (string)$values['owner'] === '')
|
||||
if (!in_array('owner',$addr_fields) || !$values['owner'])
|
||||
{
|
||||
// use default addressbook for new contacts (user preferences), if no owner specified
|
||||
if(!($values['owner'] = $GLOBALS['egw_info']['user']['preferences']['addressbook']['add_default']))
|
||||
{
|
||||
$values['owner'] = $GLOBALS['egw_info']['user']['account_id'];
|
||||
}
|
||||
}
|
||||
if (!in_array('id',$addr_fields))
|
||||
{
|
||||
$log .= "\t\t<td>".$values['id']."</td>\n";
|
||||
}
|
||||
if (!in_array('owner',$addr_fields))
|
||||
{
|
||||
$log .= "\t\t<td>".$values['owner']."</td>\n";
|
||||
$values['owner'] = $GLOBALS['egw_info']['user']['account_id'];
|
||||
}
|
||||
if (!in_array('private',$addr_fields))
|
||||
{
|
||||
@ -496,7 +416,7 @@ switch($_POST['action'])
|
||||
}
|
||||
if(!$_POST['debug'] && !$empty) // dont import empty contacts
|
||||
{
|
||||
$rvalue=$bocontacts->save($values);
|
||||
$rvalue=$GLOBALS['egw']->contacts->save($values);
|
||||
//echo "<p>adding: ".print_r($values,true)."</p>\n";
|
||||
}
|
||||
// display read and interpreted results, so the user can check it
|
||||
|
@ -11,11 +11,13 @@
|
||||
* @version $Id: class.egw_addressbook_record.inc.php 22827 2006-11-10 15:35:35Z nelius_weiss $
|
||||
*/
|
||||
|
||||
require_once(EGW_INCLUDE_ROOT. '/importexport/inc/class.iface_egw_record.inc.php');
|
||||
|
||||
/**
|
||||
* class addressbook_egw_record
|
||||
* class egw_addressbook_record
|
||||
* compability layer for iface_egw_record needet for importexport
|
||||
*/
|
||||
class addressbook_egw_record implements importexport_iface_egw_record
|
||||
class egw_addressbook_record implements iface_egw_record
|
||||
{
|
||||
|
||||
private $identifier = '';
|
@ -11,17 +11,21 @@
|
||||
* @version $Id: $
|
||||
*/
|
||||
|
||||
require_once(EGW_INCLUDE_ROOT. '/importexport/inc/class.export_csv.inc.php');
|
||||
require_once(EGW_INCLUDE_ROOT. '/importexport/inc/class.iface_export_plugin.inc.php');
|
||||
require_once(EGW_INCLUDE_ROOT. '/addressbook/importexport/class.egw_addressbook_record.inc.php');
|
||||
|
||||
/**
|
||||
* export plugin of addressbook
|
||||
*/
|
||||
class addressbook_export_contacts_csv implements importexport_iface_export_plugin {
|
||||
class export_contacts_csv implements iface_export_plugin {
|
||||
|
||||
/**
|
||||
* Exports records as defined in $_definition
|
||||
*
|
||||
* @param egw_record $_definition
|
||||
*/
|
||||
public function export( $_stream, importexport_definition $_definition) {
|
||||
public function export( $_stream, definition $_definition) {
|
||||
$options = $_definition->plugin_options;
|
||||
|
||||
$uicontacts = new addressbook_ui();
|
||||
@ -39,13 +43,13 @@ class addressbook_export_contacts_csv implements importexport_iface_export_plugi
|
||||
$selection = explode(',',$options['selection']);
|
||||
}
|
||||
|
||||
$export_object = new importexport_export_csv($_stream, (array)$options);
|
||||
$export_object = new export_csv($_stream, (array)$options);
|
||||
$export_object->set_mapping($options['mapping']);
|
||||
|
||||
// $options['selection'] is array of identifiers as this plugin doesn't
|
||||
// support other selectors atm.
|
||||
foreach ($selection as $identifier) {
|
||||
$contact = new addressbook_egw_record($identifier);
|
||||
$contact = new egw_addressbook_record($identifier);
|
||||
$export_object->export_record($contact);
|
||||
unset($contact);
|
||||
}
|
||||
@ -93,6 +97,6 @@ class addressbook_export_contacts_csv implements importexport_iface_export_plugi
|
||||
*
|
||||
*/
|
||||
public function get_selectors_etpl() {
|
||||
return 'addressbook.export_csv_selectors';
|
||||
return '<b>Selectors:</b>';
|
||||
}
|
||||
}
|
@ -10,11 +10,14 @@
|
||||
* @version $Id: $
|
||||
*/
|
||||
|
||||
require_once(EGW_INCLUDE_ROOT. '/importexport/inc/class.iface_import_plugin.inc.php');
|
||||
require_once(EGW_INCLUDE_ROOT.'/importexport/inc/class.import_csv.inc.php');
|
||||
|
||||
|
||||
/**
|
||||
* class import_csv for addressbook
|
||||
*/
|
||||
class addressbook_import_contacts_csv implements importexport_iface_import_plugin {
|
||||
class import_contacts_csv implements iface_import_plugin {
|
||||
|
||||
private static $plugin_options = array(
|
||||
'fieldsep', // char
|
||||
@ -43,14 +46,14 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
/**
|
||||
* actions wich could be done to data entries
|
||||
*/
|
||||
protected static $actions = array( 'none', 'update', 'insert', 'delete', );
|
||||
private static $actions = array( 'none', 'update', 'insert', 'delete', );
|
||||
|
||||
/**
|
||||
* conditions for actions
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static $conditions = array( 'exists', 'greater', 'greater or equal', );
|
||||
private static $conditions = array( 'exists', 'greater', 'greater or equal', );
|
||||
|
||||
/**
|
||||
* @var definition
|
||||
@ -62,11 +65,6 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
*/
|
||||
private $bocontacts;
|
||||
|
||||
/**
|
||||
* For figuring out if a contact has changed
|
||||
*/
|
||||
protected $tracking;
|
||||
|
||||
/**
|
||||
* @var bool
|
||||
*/
|
||||
@ -82,24 +80,14 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
*/
|
||||
private $user = null;
|
||||
|
||||
/**
|
||||
* List of import errors
|
||||
*/
|
||||
protected $errors = array();
|
||||
|
||||
/**
|
||||
* List of actions, and how many times that action was taken
|
||||
*/
|
||||
protected $results = array();
|
||||
|
||||
/**
|
||||
* imports entries according to given definition object.
|
||||
* @param resource $_stream
|
||||
* @param string $_charset
|
||||
* @param definition $_definition
|
||||
*/
|
||||
public function import( $_stream, importexport_definition $_definition ) {
|
||||
$import_csv = new importexport_import_csv( $_stream, array(
|
||||
public function import( $_stream, definition $_definition ) {
|
||||
$import_csv = new import_csv( $_stream, array(
|
||||
'fieldsep' => $_definition->plugin_options['fieldsep'],
|
||||
'charset' => $_definition->plugin_options['charset'],
|
||||
));
|
||||
@ -116,9 +104,6 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
// fetch the addressbook bo
|
||||
$this->bocontacts = new addressbook_bo();
|
||||
|
||||
// Get the tracker for changes
|
||||
$this->tracking = new addressbook_tracking($this->bocontacts);
|
||||
|
||||
// set FieldMapping.
|
||||
$import_csv->mapping = $_definition->plugin_options['field_mapping'];
|
||||
|
||||
@ -126,31 +111,22 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
$import_csv->conversion = $_definition->plugin_options['field_conversion'];
|
||||
|
||||
//check if file has a header lines
|
||||
if ( isset( $_definition->plugin_options['num_header_lines'] ) && $_definition->plugin_options['num_header_lines'] > 0) {
|
||||
if ( isset( $_definition->plugin_options['num_header_lines'] ) ) {
|
||||
$import_csv->skip_records($_definition->plugin_options['num_header_lines']);
|
||||
} elseif(isset($_definition->plugin_options['has_header_line']) && $_definition->plugin_options['has_header_line']) {
|
||||
// First method is preferred
|
||||
$import_csv->skip_records(1);
|
||||
}
|
||||
|
||||
// set eventOwner
|
||||
$_definition->plugin_options['contact_owner'] = isset( $_definition->plugin_options['contact_owner'] ) ?
|
||||
$_definition->plugin_options['contact_owner'] : $this->user;
|
||||
|
||||
// Start counting successes
|
||||
$count = 0;
|
||||
$this->results = array();
|
||||
|
||||
// Failures
|
||||
$this->errors = array();
|
||||
|
||||
while ( $record = $import_csv->get_record() ) {
|
||||
$success = false;
|
||||
|
||||
// don't import empty contacts
|
||||
if( count( array_unique( $record ) ) < 2 ) continue;
|
||||
|
||||
$record['owner'] = $_definition->plugin_options['contact_owner'];
|
||||
if ( $_definition->plugin_options['contact_owner'] != -1 ) {
|
||||
$record['owner'] = $_definition->plugin_options['contact_owner'];
|
||||
} else unset( $record['owner'] );
|
||||
|
||||
if ( $_definition->plugin_options['conditions'] ) {
|
||||
foreach ( $_definition->plugin_options['conditions'] as $condition ) {
|
||||
@ -158,11 +134,8 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
// exists
|
||||
case 'exists' :
|
||||
$contacts = $this->bocontacts->search(
|
||||
//array( $condition['string'] => $record[$condition['string']],),
|
||||
'',
|
||||
$_definition->plugin_options['update_cats'] == 'add' ? false : true,
|
||||
'', '', '', false, 'AND', false,
|
||||
array( $condition['string'] => $record[$condition['string']],)
|
||||
array( $condition['string'] => $record[$condition['string']],),
|
||||
$_definition->plugin_options['update_cats'] == 'add' ? false : true
|
||||
);
|
||||
|
||||
if ( is_array( $contacts ) && count( array_keys( $contacts ) >= 1 ) ) {
|
||||
@ -175,11 +148,11 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
if ( !is_array( $record['cat_id'] ) ) $record['cat_id'] = explode( ',', $record['cat_id'] );
|
||||
$record['cat_id'] = implode( ',', array_unique( array_merge( $record['cat_id'], $contact['cat_id'] ) ) );
|
||||
}
|
||||
$success = $this->action( $action['action'], $record, $import_csv->get_current_position() );
|
||||
$this->action( $action['action'], $record );
|
||||
}
|
||||
} else {
|
||||
$action = $condition['false'];
|
||||
$success = ($this->action( $action['action'], $record, $import_csv->get_current_position() ));
|
||||
$this->action( $action['action'], $record );
|
||||
}
|
||||
break;
|
||||
|
||||
@ -192,11 +165,9 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
}
|
||||
} else {
|
||||
// unconditional insert
|
||||
$success = $this->action( 'insert', $record, $import_csv->get_current_position() );
|
||||
$this->action( 'insert', $record );
|
||||
}
|
||||
if($success) $count++;
|
||||
}
|
||||
return $count;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -206,47 +177,18 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
* @param array $_data contact data for the action
|
||||
* @return bool success or not
|
||||
*/
|
||||
private function action ( $_action, $_data, $record_num = 0 ) {
|
||||
private function action ( $_action, $_data ) {
|
||||
switch ($_action) {
|
||||
case 'none' :
|
||||
return true;
|
||||
case 'update' :
|
||||
// Only update if there are changes
|
||||
$old = $this->bocontacts->read($_data['id']);
|
||||
|
||||
// Don't change a user account into a contact
|
||||
if($old['owner'] == 0) {
|
||||
unset($_data['owner']);
|
||||
}
|
||||
|
||||
// Merge to deal with fields not in import record
|
||||
$_data = array_merge($old, $_data);
|
||||
$changed = $this->tracking->changed_fields($_data, $old);
|
||||
if(count($changed) == 0) {
|
||||
return true;
|
||||
}
|
||||
// Fall through
|
||||
case 'insert' :
|
||||
if($_action == 'insert') {
|
||||
// Addressbook backend doesn't like inserting with ID specified, it screws up the owner & etag
|
||||
unset($_data['id']);
|
||||
}
|
||||
if ( $this->dry_run ) {
|
||||
print_r($_data);
|
||||
$this->results[$_action]++;
|
||||
return true;
|
||||
} else {
|
||||
$result = $this->bocontacts->save( $_data, $this->is_admin);
|
||||
if(!$result) {
|
||||
$this->errors[$record_num] = $this->bocontacts->error;
|
||||
} else {
|
||||
$this->results[$_action]++;
|
||||
}
|
||||
return $result;
|
||||
return $this->bocontacts->save( $_data );
|
||||
}
|
||||
default:
|
||||
throw new egw_exception('Unsupported action');
|
||||
|
||||
case 'delete' :
|
||||
}
|
||||
}
|
||||
|
||||
@ -256,7 +198,7 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
* @return string name
|
||||
*/
|
||||
public static function get_name() {
|
||||
return lang('Addressbook CSV import');
|
||||
return lang('Addressbook CSV export');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -302,28 +244,5 @@ class addressbook_import_contacts_csv implements importexport_iface_import_plugi
|
||||
// lets do it!
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns errors that were encountered during importing
|
||||
* Maximum of one error message per record, but you can append if you need to
|
||||
*
|
||||
* @return Array (
|
||||
* record_# => error message
|
||||
* )
|
||||
*/
|
||||
public function get_errors() {
|
||||
return $this->errors;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a list of actions taken, and the number of records for that action.
|
||||
* Actions are things like 'insert', 'update', 'delete', and may be different for each plugin.
|
||||
*
|
||||
* @return Array (
|
||||
* action => record count
|
||||
* )
|
||||
*/
|
||||
public function get_results() {
|
||||
return $this->results;
|
||||
}
|
||||
} // end of iface_export_plugin
|
||||
?>
|
@ -0,0 +1,192 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupWare - Wizzard for Adressbook CSV import
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package addressbook
|
||||
* @link http://www.egroupware.org
|
||||
* @author Cornelius Weiss <nelius@cwtech.de>
|
||||
* @version $Id: $
|
||||
*/
|
||||
|
||||
require_once(EGW_INCLUDE_ROOT.'/addressbook/inc/class.addressbook_csv_import.inc.php');
|
||||
|
||||
class wizzard_addressbook_csv_import extends addressbook_csv_import
|
||||
{
|
||||
|
||||
var $steps;
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*/
|
||||
function wizzard_addressbook_csv_import()
|
||||
{
|
||||
$this->steps = array(
|
||||
'wizzard_step30' => lang('Load Sample file'),
|
||||
'wizzard_step40' => lang('Choose seperator and charset'),
|
||||
'wizzard_step50' => lang('Manage mapping'),
|
||||
'wizzard_step60' => lang('Choose owner of imported data'),
|
||||
);
|
||||
$this->__construct();
|
||||
}
|
||||
|
||||
function wizzard_step30(&$content, &$sel_options, &$readonlys, &$preserv)
|
||||
{
|
||||
if($this->debug) error_log('addressbook.importexport.addressbook_csv_import::wizzard_step30->$content '.print_r($content,true));
|
||||
// return from step30
|
||||
if ($content['step'] == 'wizzard_step30')
|
||||
{
|
||||
switch (array_search('pressed', $content['button']))
|
||||
{
|
||||
case 'next':
|
||||
error_log(print_r($content,true));
|
||||
$file = fopen ($content['file']['tmp_name'],'rb');
|
||||
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],1);
|
||||
case 'previous' :
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],-1);
|
||||
case 'finish':
|
||||
return 'wizzard_finish';
|
||||
default :
|
||||
return $this->wizzard_step30($content,$sel_options,$readonlys,$preserv);
|
||||
}
|
||||
}
|
||||
// init step30
|
||||
else
|
||||
{
|
||||
$content['msg'] = $this->steps['wizzard_step30'];
|
||||
$content['step'] = 'wizzard_step30';
|
||||
$preserv = $content;
|
||||
unset ($preserv['button']);
|
||||
$GLOBALS['egw']->js->set_onload("var btn = document.getElementById('exec[button][next]'); btn.attributes.removeNamedItem('onclick');");
|
||||
return 'addressbook.importexport_wizzard_samplefile';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* choose fieldseperator, charset and headerline
|
||||
*
|
||||
* @param array $content
|
||||
* @param array $sel_options
|
||||
* @param array $readonlys
|
||||
* @param array $preserv
|
||||
* @return string template name
|
||||
*/
|
||||
function wizzard_step40(&$content, &$sel_options, &$readonlys, &$preserv)
|
||||
{
|
||||
if($this->debug) error_log('addressbook.importexport.addressbook_csv_import::wizzard_step40->$content '.print_r($content,true));
|
||||
// return from step40
|
||||
if ($content['step'] == 'wizzard_step40')
|
||||
{//error_log(serialize($GLOBALS['egw']->uidefinitions));
|
||||
switch (array_search('pressed', $content['button']))
|
||||
{
|
||||
case 'next':
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],1);
|
||||
case 'previous' :
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],-1);
|
||||
case 'finish':
|
||||
return 'wizzard_finish';
|
||||
default :
|
||||
return $this->wizzard_step40($content,$sel_options,$readonlys,$preserv);
|
||||
}
|
||||
}
|
||||
// init step40
|
||||
else
|
||||
{
|
||||
$content['msg'] = $this->steps['wizzard_step40'];
|
||||
$content['step'] = 'wizzard_step40';
|
||||
$sel_options['charset'] = $GLOBALS['egw']->translation->get_installed_charsets()+
|
||||
array('utf-8' => 'utf-8 (Unicode)');
|
||||
$preserv = $content;
|
||||
unset ($preserv['button']);
|
||||
return 'addressbook.importexport_wizzard_choosesepncharset';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function wizzard_step50(&$content, &$sel_options, &$readonlys, &$preserv)
|
||||
{
|
||||
if($this->debug) error_log('addressbook.importexport.addressbook_csv_import::wizzard_step50->$content '.print_r($content,true));
|
||||
// return from step50
|
||||
if ($content['step'] == 'wizzard_step50')
|
||||
{
|
||||
array_shift($content['csv_fields']);
|
||||
//$content['csv_fields'] = array('csv_01','csv_02','csv_03','csv_04','csv_05','csv_06','csv_07','csv_08','csv_09','csv_10','csv_11','csv_12');
|
||||
array_shift($content['field_mapping']);
|
||||
array_shift($content['field_translation']);
|
||||
|
||||
switch (array_search('pressed', $content['button']))
|
||||
{
|
||||
case 'next':
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],1);
|
||||
case 'previous' :
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],-1);
|
||||
case 'finish':
|
||||
return 'wizzard_finish';
|
||||
default :
|
||||
return $this->wizzard_step50($content,$sel_options,$readonlys,$preserv);
|
||||
}
|
||||
}
|
||||
// init step50
|
||||
else
|
||||
{
|
||||
$content['msg'] = $this->steps['wizzard_step50'];
|
||||
$content['step'] = 'wizzard_step50';
|
||||
|
||||
array_unshift($content['csv_fields'],array('row0'));
|
||||
array_unshift($content['field_mapping'],array('row0'));
|
||||
array_unshift($content['field_translation'],array('row0'));
|
||||
|
||||
$j = 0;
|
||||
foreach ($content['csv_fields'] as $field)
|
||||
{
|
||||
if(strstr($field,'no_csv_')) $j++;
|
||||
}
|
||||
while ($j <= 3)
|
||||
{
|
||||
$content['csv_fields'][] = 'no_csv_'.$j;
|
||||
$content['field_mapping'][] = $content['field_translation'][] = '';
|
||||
$j++;
|
||||
}
|
||||
$contact_fields = $this->bocontacts->get_contact_columns();
|
||||
$sel_options['field_mapping'] = array('' => lang('none')) + array_combine($contact_fields,$contact_fields);
|
||||
error_log(print_r($sel_options['field_mapping'],true));
|
||||
$preserv = $content;
|
||||
unset ($preserv['button']);
|
||||
return 'addressbook.importexport_wizzard_fieldmaping';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function wizzard_step60(&$content, &$sel_options, &$readonlys, &$preserv)
|
||||
{
|
||||
if($this->debug) error_log('addressbook.importexport.addressbook_csv_import::wizzard_step60->$content '.print_r($content,true));
|
||||
// return from step60
|
||||
if ($content['step'] == 'wizzard_step60')
|
||||
{
|
||||
switch (array_search('pressed', $content['button']))
|
||||
{
|
||||
case 'next':
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],1);
|
||||
case 'previous' :
|
||||
return $GLOBALS['egw']->uidefinitions->get_step($content['step'],-1);
|
||||
case 'finish':
|
||||
return 'wizzard_finish';
|
||||
default :
|
||||
return $this->wizzard_step60($content,$sel_options,$readonlys,$preserv);
|
||||
}
|
||||
}
|
||||
// init step60
|
||||
else
|
||||
{
|
||||
$content['msg'] = $this->steps['wizzard_step60'];
|
||||
$content['step'] = 'wizzard_step60';
|
||||
|
||||
$preserv = $content;
|
||||
unset ($preserv['button']);
|
||||
return 'addressbook.importexport_wizzard_chooseowner';
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -9,7 +9,7 @@
|
||||
<entry type="array" name="outlook_csv_english">
|
||||
<entry type="string" name="name">outlook_csv_english</entry>
|
||||
<entry type="string" name="application">addressbook</entry>
|
||||
<entry type="string" name="plugin">addressbook_export_contacts_csv</entry>
|
||||
<entry type="string" name="plugin">export_contacts_csv</entry>
|
||||
<entry type="string" name="type">export</entry>
|
||||
<entry type="array" name="allowed_users">
|
||||
<entry type="string" name="0">Default</entry>
|
||||
|
@ -9,7 +9,7 @@
|
||||
<entry type="array" name="outlook_csv_finish">
|
||||
<entry type="string" name="name">outlook_csv_finish</entry>
|
||||
<entry type="string" name="application">addressbook</entry>
|
||||
<entry type="string" name="plugin">addressbook_export_contacts_csv</entry>
|
||||
<entry type="string" name="plugin">export_contacts_csv</entry>
|
||||
<entry type="string" name="type">export</entry>
|
||||
<entry type="array" name="allowed_users">
|
||||
<entry type="string" name="0">Default</entry>
|
||||
|
@ -9,7 +9,7 @@
|
||||
<entry type="array" name="outlook_csv_french">
|
||||
<entry type="string" name="name">outlook_csv_french</entry>
|
||||
<entry type="string" name="application">addressbook</entry>
|
||||
<entry type="string" name="plugin">addressbook_export_contacts_csv</entry>
|
||||
<entry type="string" name="plugin">export_contacts_csv</entry>
|
||||
<entry type="string" name="type">export</entry>
|
||||
<entry type="array" name="allowed_users">
|
||||
<entry type="string" name="0">Default</entry>
|
||||
|
@ -9,7 +9,7 @@
|
||||
<entry type="array" name="outlook_csv_import_german">
|
||||
<entry type="string" name="name">outlook_csv_import_german</entry>
|
||||
<entry type="string" name="application">addressbook</entry>
|
||||
<entry type="string" name="plugin">addressbook_import_contacts_csv</entry>
|
||||
<entry type="string" name="plugin">import_contacts_csv</entry>
|
||||
<entry type="string" name="type">import</entry>
|
||||
<entry type="array" name="allowed_users">
|
||||
<entry type="string" name="0">Default</entry>
|
||||
@ -74,7 +74,7 @@
|
||||
<entry type="array" name="outlook_csv_export_german">
|
||||
<entry type="string" name="name">outlook_csv_export_german</entry>
|
||||
<entry type="string" name="application">addressbook</entry>
|
||||
<entry type="string" name="plugin">addressbook_export_contacts_csv</entry>
|
||||
<entry type="string" name="plugin">export_contacts_csv</entry>
|
||||
<entry type="string" name="type">export</entry>
|
||||
<entry type="array" name="allowed_users">
|
||||
<entry type="string" name="0">Default</entry>
|
||||
|
@ -9,7 +9,7 @@
|
||||
<entry type="array" name="outlook_csv_italien">
|
||||
<entry type="string" name="name">outlook_csv_italien</entry>
|
||||
<entry type="string" name="application">addressbook</entry>
|
||||
<entry type="string" name="plugin">addressbook_export_contacts_csv</entry>
|
||||
<entry type="string" name="plugin">export_contacts_csv</entry>
|
||||
<entry type="string" name="type">export</entry>
|
||||
<entry type="array" name="allowed_users">
|
||||
<entry type="string" name="0">Default</entry>
|
||||
|
@ -18,6 +18,12 @@
|
||||
*/
|
||||
class addressbook_bo extends addressbook_so
|
||||
{
|
||||
/**
|
||||
* @var int $tz_offset_s offset in secconds between user and server-time,
|
||||
* it need to be add to a server-time to get the user-time or substracted from a user-time to get the server-time
|
||||
*/
|
||||
var $tz_offset_s;
|
||||
|
||||
/**
|
||||
* @var int $now_su actual user (!) time
|
||||
*/
|
||||
@ -128,22 +134,6 @@ class addressbook_bo extends addressbook_so
|
||||
*/
|
||||
var $categories;
|
||||
|
||||
/**
|
||||
* Tracking changes
|
||||
*
|
||||
* @var object
|
||||
*/
|
||||
protected $tracking;
|
||||
|
||||
/**
|
||||
* Keep deleted addresses, or really delete them
|
||||
* Set in Admin -> Addressbook -> Site Configuration
|
||||
* ''=really delete, 'history'=keep, only admins delete
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $delete_history = '';
|
||||
|
||||
function __construct($contact_app='addressbook')
|
||||
{
|
||||
parent::__construct($contact_app);
|
||||
@ -153,7 +143,8 @@ class addressbook_bo extends addressbook_so
|
||||
error_log(__FILE__.'['.__LINE__.'] '.__METHOD__."($contact_app)\n", 3 ,$this->logfile);
|
||||
}
|
||||
|
||||
$this->now_su = egw_time::to('now','ts');
|
||||
$this->tz_offset_s = 3600 * $GLOBALS['egw_info']['user']['preferences']['common']['tz_offset'];
|
||||
$this->now_su = time() + $this->tz_offset_s;
|
||||
|
||||
$this->prefs =& $GLOBALS['egw_info']['user']['preferences']['addressbook'];
|
||||
// get the default addressbook from the users prefs
|
||||
@ -275,11 +266,6 @@ class addressbook_bo extends addressbook_so
|
||||
$this->org_fields = unserialize($GLOBALS['egw_info']['server']['org_fileds_to_update']);
|
||||
}
|
||||
$this->categories = new categories($this->user,'addressbook');
|
||||
|
||||
$this->tracking = new addressbook_tracking($this);
|
||||
|
||||
$config = config::read('phpgwapi');
|
||||
$this->delete_history = $config['history'];
|
||||
}
|
||||
|
||||
/**
|
||||
@ -294,7 +280,7 @@ class addressbook_bo extends addressbook_so
|
||||
{
|
||||
//echo "uicontacts::get_addressbooks($required,$include_all) grants="; _debug_array($this->grants);
|
||||
|
||||
$addressbooks = $to_sort = array();
|
||||
$addressbooks = array();
|
||||
if ($extra_label) $addressbooks[''] = $extra_label;
|
||||
$addressbooks[$this->user] = lang('Personal');
|
||||
// add all group addressbooks the user has the necessary rights too
|
||||
@ -302,32 +288,21 @@ class addressbook_bo extends addressbook_so
|
||||
{
|
||||
if (($rights & $required) == $required && $GLOBALS['egw']->accounts->get_type($uid) == 'g')
|
||||
{
|
||||
$to_sort[$uid] = lang('Group %1',$GLOBALS['egw']->accounts->id2name($uid));
|
||||
$addressbooks[$uid] = lang('Group %1',$GLOBALS['egw']->accounts->id2name($uid));
|
||||
}
|
||||
}
|
||||
if ($to_sort)
|
||||
{
|
||||
asort($to_sort);
|
||||
$addressbooks += $to_sort;
|
||||
}
|
||||
if (($this->grants[0] & $required) == $required && !$GLOBALS['egw_info']['user']['preferences']['addressbook']['hide_accounts'])
|
||||
{
|
||||
$addressbooks[0] = lang('Accounts');
|
||||
}
|
||||
// add all other user addressbooks the user has the necessary rights too
|
||||
$to_sort = array();
|
||||
foreach($this->grants as $uid => $rights)
|
||||
{
|
||||
if ($uid != $this->user && ($rights & $required) == $required && $GLOBALS['egw']->accounts->get_type($uid) == 'u')
|
||||
{
|
||||
$to_sort[$uid] = $GLOBALS['egw']->common->grab_owner_name($uid);
|
||||
$addressbooks[$uid] = $GLOBALS['egw']->common->grab_owner_name($uid);
|
||||
}
|
||||
}
|
||||
if ($to_sort)
|
||||
{
|
||||
asort($to_sort);
|
||||
$addressbooks += $to_sort;
|
||||
}
|
||||
if ($this->private_addressbook)
|
||||
{
|
||||
$addressbooks[$this->user.'p'] = lang('Private');
|
||||
@ -601,18 +576,15 @@ class addressbook_bo extends addressbook_so
|
||||
* This function needs to be reimplemented in the derived class
|
||||
*
|
||||
* @param array $data
|
||||
* @param $date_format='ts' date-formats: 'ts'=timestamp, 'server'=timestamp in server-time, 'array'=array or string with date-format
|
||||
*
|
||||
* @return array updated data
|
||||
*/
|
||||
function db2data($data, $date_format='ts')
|
||||
function db2data($data)
|
||||
{
|
||||
// convert timestamps from server-time in the db to user-time
|
||||
foreach ($this->timestamps as $name)
|
||||
{
|
||||
if (isset($data[$name]))
|
||||
{
|
||||
$data[$name] = egw_time::server2user($data[$name], $date_format);
|
||||
$data[$name] += $this->tz_offset_s;
|
||||
}
|
||||
}
|
||||
$data['photo'] = $this->photo_src($data['id'],$data['jpegphoto']);
|
||||
@ -650,18 +622,15 @@ class addressbook_bo extends addressbook_so
|
||||
* this needs to be reimplemented in the derived class
|
||||
*
|
||||
* @param array $data
|
||||
* @param $date_format='ts' date-formats: 'ts'=timestamp, 'server'=timestamp in server-time, 'array'=array or string with date-format
|
||||
*
|
||||
* @return array upated data
|
||||
*/
|
||||
function data2db($data, $date_format='ts')
|
||||
function data2db($data)
|
||||
{
|
||||
// convert timestamps from user-time to server-time in the db
|
||||
foreach ($this->timestamps as $name)
|
||||
{
|
||||
if (isset($data[$name]))
|
||||
{
|
||||
$data[$name] = egw_time::server2user($data[$name], $date_format);
|
||||
$data[$name] -= $this->tz_offset_s;
|
||||
}
|
||||
}
|
||||
return $data;
|
||||
@ -690,27 +659,10 @@ class addressbook_bo extends addressbook_so
|
||||
$id = is_array($c) ? $c['id'] : $c;
|
||||
|
||||
$ok = false;
|
||||
if ($this->check_perms(EGW_ACL_DELETE,$c,$deny_account_delete))
|
||||
if ($this->check_perms(EGW_ACL_DELETE,$c,$deny_account_delete) && ($ok = parent::delete($id,$check_etag)))
|
||||
{
|
||||
if (!($old = $this->read($id))) return false;
|
||||
if ($this->delete_history != '' && $old['tid'] != addressbook_so::DELETED_TYPE)
|
||||
{
|
||||
$delete = $old;
|
||||
$delete['tid'] = addressbook_so::DELETED_TYPE;
|
||||
$ok = $this->save($delete);
|
||||
egw_link::unlink(0,'addressbook',$id,'','!file');
|
||||
}
|
||||
elseif (($ok = parent::delete($id,$check_etag)))
|
||||
{
|
||||
egw_link::unlink(0,'addressbook',$id);
|
||||
}
|
||||
|
||||
// Don't notify of final purge
|
||||
if ($ok && $old['tid'] != addressbook_so::DELETED_TYPE)
|
||||
{
|
||||
$GLOBALS['egw']->contenthistory->updateTimeStamp('contacts', $id, 'delete', time());
|
||||
$this->tracking->track(array('id' => $id), array('id' => $id), null, true);
|
||||
}
|
||||
egw_link::unlink(0,'addressbook',$id);
|
||||
$GLOBALS['egw']->contenthistory->updateTimeStamp('contacts', $id, 'delete', time());
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -797,10 +749,6 @@ class addressbook_bo extends addressbook_so
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Get old record for tracking changes
|
||||
$old = $this->data2db($this->read($contact['id']));
|
||||
|
||||
// we dont update the content-history, if we run inside setup (admin-account-creation)
|
||||
if(!($this->error = parent::save($to_write)) && is_object($GLOBALS['egw']->contenthistory))
|
||||
{
|
||||
@ -821,12 +769,6 @@ class addressbook_bo extends addressbook_so
|
||||
}
|
||||
// Notify linked apps about changes in the contact data
|
||||
egw_link::notify_update('addressbook', $contact['id'], $contact);
|
||||
|
||||
// Record change history for sql - doesn't work for LDAP accounts
|
||||
if(!$contact['account_id'] || $contact['account_id'] && $this->account_repository == 'sql') {
|
||||
$deleted = ($old['tid'] == addressbook_so::DELETED_TYPE || $contact['tid'] == addressbook_so::DELETED_TYPE);
|
||||
$this->tracking->track($to_write, $old, null, $deleted);
|
||||
}
|
||||
}
|
||||
|
||||
return $this->error ? false : $contact['id'];
|
||||
@ -835,8 +777,8 @@ class addressbook_bo extends addressbook_so
|
||||
/**
|
||||
* reads contacts matched by key and puts all cols in the data array
|
||||
*
|
||||
* @param int|string $contact_id
|
||||
* @return array|boolean array with contact data, null if not found or false on no view perms
|
||||
* @param int/string $contact_id
|
||||
* @return array/boolean array with contact data, null if not found or false on no view perms
|
||||
*/
|
||||
function read($contact_id)
|
||||
{
|
||||
@ -1172,21 +1114,19 @@ class addressbook_bo extends addressbook_so
|
||||
* Is called as hook to participate in the linking
|
||||
*
|
||||
* @param string|array $pattern pattern to search, or an array with a 'search' key
|
||||
* @param array $options Array of options for the search
|
||||
* @return array with id - title pairs of the matching entries
|
||||
*/
|
||||
function link_query($pattern, Array &$options = array())
|
||||
function link_query($pattern)
|
||||
{
|
||||
$result = $criteria = array();
|
||||
$limit = false;
|
||||
if ($pattern)
|
||||
{
|
||||
$criteria = is_array($pattern) ? $pattern['search'] : $pattern;
|
||||
foreach($this->columns_to_search as $col)
|
||||
{
|
||||
$criteria[$col] = is_array($pattern) ? $pattern['search'] : $pattern;
|
||||
}
|
||||
}
|
||||
if($options['start'] || $options['num_rows']) {
|
||||
$limit = array($options['start'], $options['num_rows']);
|
||||
}
|
||||
if (($contacts = parent::search($criteria,false,'org_name,n_family,n_given,cat_id','','%',false,'OR', $limit)))
|
||||
if (($contacts = parent::search($criteria,false,'org_name,n_family,n_given,cat_id','','%',false,'OR')))
|
||||
{
|
||||
foreach($contacts as $contact)
|
||||
{
|
||||
@ -1201,7 +1141,6 @@ class addressbook_bo extends addressbook_so
|
||||
}
|
||||
}
|
||||
}
|
||||
$options['total'] = $this->total;
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
* @link http://www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @package addressbook
|
||||
* @copyright (c) 2007/8 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2007-10 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
@ -26,10 +26,9 @@ class addressbook_contactform
|
||||
* @param string $email=null comma-separated email addresses
|
||||
* @param string $tpl_name=null custom etemplate to use
|
||||
* @param string $subject=null subject for email
|
||||
* @param string $copytoreceiver=false send a copy of notification to receiver
|
||||
* @return string html content
|
||||
*/
|
||||
function display($content=null,$addressbook=null,$fields=null,$msg=null,$email=null,$tpl_name=null,$subject=null,$copytoreceiver=false)
|
||||
function display($content=null,$addressbook=null,$fields=null,$msg=null,$email=null,$tpl_name=null,$subject=null)
|
||||
{
|
||||
#error_log( "<p>addressbook_contactform::display(".print_r($content,true).",$addressbook,".print_r($fields,true).",$msg,$tpl_name)</p>\n");
|
||||
if (empty($tpl_name) && !empty($content['tpl_form_name'])) $tpl_name =$content['tpl_form_name'];
|
||||
@ -53,6 +52,10 @@ class addressbook_contactform
|
||||
$contact = new addressbook_bo();
|
||||
if ($content['owner']) // save the contact in the addressbook
|
||||
{
|
||||
if ($content['email_contactform']) // only necessary as long addressbook is not doing this itself
|
||||
{
|
||||
$tracking = new addressbook_tracking($contact);
|
||||
}
|
||||
if (($id = $contact->save($content)))
|
||||
{
|
||||
// check for fileuploads and attach the found files
|
||||
@ -60,9 +63,18 @@ class addressbook_contactform
|
||||
{
|
||||
if (is_array($value) && isset($value['tmp_name']) && is_readable($value['tmp_name']))
|
||||
{
|
||||
// do no further permission check, as this would require_once
|
||||
// the anonymous user to have run rights for addressbook AND
|
||||
// edit rights for the addressbook used to store the new entry,
|
||||
// which is clearly not wanted securitywise
|
||||
egw_vfs::$is_root = true;
|
||||
egw_link::link('addressbook',$id,egw_link::VFS_APPNAME,$value,$name);
|
||||
egw_vfs::$is_root = false;
|
||||
}
|
||||
}
|
||||
unset($content['modified']); unset($content['modifier']); // not interesting for new entries
|
||||
|
||||
$tracking->do_notifications($content,null); // only necessary as long addressbook is not doing this itself
|
||||
|
||||
return '<p align="center">'.$content['msg'].'</p>';
|
||||
}
|
||||
@ -79,7 +91,7 @@ class addressbook_contactform
|
||||
require_once(EGW_INCLUDE_ROOT.'/addressbook/inc/class.addressbook_tracking.inc.php');
|
||||
$tracking = new addressbook_tracking($contact);
|
||||
}
|
||||
if ($tracking->do_notifications($contact->data2db($content),null))
|
||||
if ($tracking->do_notifications($content,null))
|
||||
{
|
||||
return '<p align="center">'.$content['msg'].'</p>';
|
||||
}
|
||||
@ -99,7 +111,6 @@ class addressbook_contactform
|
||||
$preserv['is_contactform'] = true;
|
||||
$preserv['email_contactform'] = $email;
|
||||
$preserv['subject_contactform'] = $subject;
|
||||
$preserv['email_copytoreceiver'] = $copytoreceiver;
|
||||
#if (!$fields) $fields = array('org_name','n_fn','email','tel_work','url','note','captcha');
|
||||
$custom = 1;
|
||||
foreach($fields as $name)
|
||||
|
@ -4,7 +4,7 @@
|
||||
*
|
||||
* @link www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2006-10 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2006-8 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @package addressbook
|
||||
* @subpackage export
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
@ -31,11 +31,6 @@ class addressbook_csv
|
||||
'select-cat' => array('cat_id'),
|
||||
);
|
||||
|
||||
/**
|
||||
* Number of individual category fields
|
||||
*/
|
||||
const CAT_MAX = 10;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -48,7 +43,7 @@ class addressbook_csv
|
||||
$this->obj = $obj;
|
||||
$this->separator = $separator;
|
||||
$this->charset_out = $charset;
|
||||
$this->charset = translation::charset();
|
||||
$this->charset = $GLOBALS['egw']->translation->charset();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -64,14 +59,6 @@ class addressbook_csv
|
||||
{
|
||||
$fields = $this->csv_fields();
|
||||
}
|
||||
// add fields for single categories
|
||||
if (isset($fields['cat_id']))
|
||||
{
|
||||
for($n = 1; $n <= self::CAT_MAX; ++$n)
|
||||
{
|
||||
$fields['cat_'.$n] = lang('Category').' '.$n;
|
||||
}
|
||||
}
|
||||
if (!$file)
|
||||
{
|
||||
$browser = new browser();
|
||||
@ -133,7 +120,7 @@ class addressbook_csv
|
||||
|
||||
if ($this->charset_out && $this->charset != $this->charset_out)
|
||||
{
|
||||
$out = translation::convert($out,$this->charset,$this->charset_out);
|
||||
$out = $GLOBALS['egw']->translation->convert($out,$this->charset,$this->charset_out);
|
||||
}
|
||||
return $out;
|
||||
}
|
||||
@ -164,9 +151,9 @@ class addressbook_csv
|
||||
if ($data['tel_prefer']) $data['tel_prefer'] = $fields[$data['tel_prefer']];
|
||||
|
||||
$cats = array();
|
||||
foreach(explode(',',$data['cat_id']) as $n => $cat_id)
|
||||
foreach(explode(',',$data['cat_id']) as $cat_id)
|
||||
{
|
||||
if ($cat_id) $cats[] = $data['cat_'.($n+1)] = $GLOBALS['egw']->categories->id2name($cat_id);
|
||||
if ($cat_id) $cats[] = $GLOBALS['egw']->categories->id2name($cat_id);
|
||||
}
|
||||
$data['cat_id'] = implode('; ',$cats);
|
||||
|
||||
|
@ -250,6 +250,7 @@ class addressbook_groupdav extends groupdav_handler
|
||||
}
|
||||
$handler = self::_get_handler();
|
||||
$options['data'] = $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));
|
||||
@ -276,6 +277,25 @@ class addressbook_groupdav extends groupdav_handler
|
||||
|
||||
$handler = self::_get_handler();
|
||||
$vCard = 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)
|
||||
{
|
||||
trim($attribute);
|
||||
list($key, $value) = explode('=', $attribute);
|
||||
switch (strtolower($key))
|
||||
{
|
||||
case 'charset':
|
||||
$charset = strtoupper(substr($value,1,-1));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($oldContact))
|
||||
{
|
||||
@ -285,7 +305,7 @@ class addressbook_groupdav extends groupdav_handler
|
||||
else
|
||||
{
|
||||
// new entry?
|
||||
if (($foundContacts = $handler->search($vCard)))
|
||||
if (($foundContacts = $handler->search($vCard, null, false, $charset)))
|
||||
{
|
||||
if (($contactId = array_shift($foundContacts)) &&
|
||||
($oldContact = $this->bo->read($contactId)))
|
||||
@ -307,15 +327,15 @@ class addressbook_groupdav extends groupdav_handler
|
||||
}
|
||||
}
|
||||
|
||||
$contact = $handler->vcardtoegw($vCard);
|
||||
$contact = $handler->vcardtoegw($vCard, $charset);
|
||||
|
||||
if (is_array($contact['category']))
|
||||
if (is_array($contact['cat_id']))
|
||||
{
|
||||
$contact['category'] = implode(',',$this->bo->find_or_add_categories($contact['category'], $contactId));
|
||||
$contact['cat_id'] = implode(',',$this->bo->find_or_add_categories($contact['cat_id'], $contactId));
|
||||
}
|
||||
elseif ($contactId > 0)
|
||||
{
|
||||
$contact['category'] = $oldContact['category'];
|
||||
$contact['cat_id'] = $oldContact['cat_id'];
|
||||
}
|
||||
if (is_array($oldContact))
|
||||
{
|
||||
|
@ -5,7 +5,7 @@
|
||||
* @link http://www.egroupware.org
|
||||
* @package addressbook
|
||||
* @author Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @copyright (c) 2006-10 by Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @copyright (c) 2006-8 by Ralf Becker <RalfBecker@outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
@ -30,21 +30,21 @@ class addressbook_hooks
|
||||
{
|
||||
$file = array(
|
||||
array(
|
||||
'text' => '<a class="textSidebox" href="'.egw::link('/index.php',array('menuaction' => 'addressbook.addressbook_ui.edit')).
|
||||
'" onclick="egw_openWindowCentered2(this.href,\'_blank\',850,440,\'yes\');
|
||||
'text' => '<a class="textSidebox" href="'.$GLOBALS['egw']->link('/index.php',array('menuaction' => 'addressbook.addressbook_ui.edit')).
|
||||
'" onclick="window.open(this.href,\'_blank\',\'dependent=yes,width=850,height=440,scrollbars=yes,status=yes\');
|
||||
return false;">'.lang('Add').'</a>',
|
||||
'no_lang' => true,
|
||||
'link' => false
|
||||
),
|
||||
array(
|
||||
'text' => '<a class="textSidebox" href="'.egw::link('/index.php',array(
|
||||
'text' => '<a class="textSidebox" href="'.$GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'addressbook.addressbook_ui.search',)).
|
||||
'" onclick="egw_openWindowCentered2(this.href,\'advanced_search\',850,480,\'yes\');
|
||||
'" onclick="window.open(this.href,\'advanced_search\',\'dependent=yes,width=850,height=480,scrollbars=yes,status=yes\');
|
||||
return false;">'.lang('Advanced search').'</a>',
|
||||
'no_lang' => true,
|
||||
'link' => false
|
||||
),
|
||||
'CSV-Import' => egw::link('/addressbook/csv_import.php')
|
||||
'CSV-Import' => $GLOBALS['egw']->link('/addressbook/csv_import.php')
|
||||
);
|
||||
display_sidebox($appname,lang('Addressbook menu'),$file);
|
||||
}
|
||||
@ -52,9 +52,9 @@ class addressbook_hooks
|
||||
if ($GLOBALS['egw_info']['user']['apps']['preferences'] && $location != 'admin')
|
||||
{
|
||||
$file = array(
|
||||
'Preferences' => egw::link('/index.php','menuaction=preferences.uisettings.index&appname='.$appname),
|
||||
'Grant Access' => egw::link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname),
|
||||
'Edit Categories' => egw::link('/index.php','menuaction=preferences.uicategories.index&cats_app=' . $appname . '&cats_level=True&global_cats=True')
|
||||
'Preferences' => $GLOBALS['egw']->link('/index.php','menuaction=preferences.uisettings.index&appname='.$appname),
|
||||
'Grant Access' => $GLOBALS['egw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname),
|
||||
'Edit Categories' => $GLOBALS['egw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app=' . $appname . '&cats_level=True&global_cats=True')
|
||||
);
|
||||
if ($GLOBALS['egw_info']['server']['contact_repository'] == 'ldap' || $GLOBALS['egw_info']['server']['deny_user_grants_access'])
|
||||
{
|
||||
@ -73,11 +73,11 @@ class addressbook_hooks
|
||||
if ($GLOBALS['egw_info']['user']['apps']['admin'] && $location != 'preferences')
|
||||
{
|
||||
$file = Array(
|
||||
'Site configuration' => egw::link('/index.php',array(
|
||||
'Site configuration' => $GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'admin.uiconfig.index',
|
||||
'appname' => $appname,
|
||||
)),
|
||||
'Global Categories' => egw::link('/index.php',array(
|
||||
'Global Categories' => $GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'admin.uicategories.index',
|
||||
'appname' => $appname,
|
||||
'global_cats'=> True,
|
||||
@ -86,7 +86,7 @@ class addressbook_hooks
|
||||
// custom fields are not availible in LDAP
|
||||
if ($GLOBALS['egw_info']['server']['contact_repository'] != 'ldap')
|
||||
{
|
||||
$file['Custom fields'] = egw::link('/index.php',array(
|
||||
$file['Custom fields'] = $GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'admin.customfields.edit',
|
||||
'appname' => $appname,
|
||||
'use_private'=> 1,
|
||||
@ -104,24 +104,20 @@ class addressbook_hooks
|
||||
}
|
||||
|
||||
/**
|
||||
* populates $settings for the preferences
|
||||
*
|
||||
* @param array|string $hook_data
|
||||
* @return array
|
||||
* populates $GLOBALS['settings'] for the preferences
|
||||
*/
|
||||
static function settings($hook_data)
|
||||
static function settings()
|
||||
{
|
||||
$settings = array();
|
||||
$settings['add_default'] = array(
|
||||
$GLOBALS['settings']['add_default'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default addressbook for adding contacts',
|
||||
'name' => 'add_default',
|
||||
'help' => 'Which addressbook should be selected when adding a contact AND you have no add rights to the current addressbook.',
|
||||
'values' => !$hook_data['setup'] ? ExecMethod('addressbook.addressbook_ui.get_addressbooks',EGW_ACL_ADD) : array(),
|
||||
'values' => ExecMethod('addressbook.addressbook_ui.get_addressbooks',EGW_ACL_ADD),
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
);
|
||||
if ($GLOBALS['egw_info']['server']['hide_birthdays'] != 'yes') // calendar config
|
||||
if ($GLOBALS['egw_info']['server']['hide_birthdays'] != 'yes')
|
||||
{
|
||||
$settings['mainscreen_showbirthdays'] = array(
|
||||
'type' => 'select',
|
||||
@ -137,20 +133,18 @@ class addressbook_hooks
|
||||
),
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
'default'=> 3,
|
||||
);
|
||||
}
|
||||
$settings['no_auto_hide'] = array(
|
||||
$GLOBALS['settings']['no_auto_hide'] = array(
|
||||
'type' => 'check',
|
||||
'label' => 'Don\'t hide empty columns',
|
||||
'name' => 'no_auto_hide',
|
||||
'help' => 'Should the columns photo and home address always be displayed, even if they are empty.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'forced' => false,
|
||||
);
|
||||
// CSV Export
|
||||
$settings['csv_fields'] = array(
|
||||
$GLOBALS['settings']['csv_fields'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Fields for the CSV export',
|
||||
'name' => 'csv_fields',
|
||||
@ -162,48 +156,29 @@ class addressbook_hooks
|
||||
'help' => '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.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'business',
|
||||
);
|
||||
$settings['csv_charset'] = array(
|
||||
$GLOBALS['settings']['csv_charset'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Charset for the CSV export',
|
||||
'name' => 'csv_charset',
|
||||
'values' => translation::get_installed_charsets(),
|
||||
'values' => $GLOBALS['egw']->translation->get_installed_charsets()+array('utf-8' => 'utf-8 (Unicode)'),
|
||||
'help' => 'Which charset should be used for the CSV export. The system default is the charset of this eGroupWare installation.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'iso-8859-1',
|
||||
);
|
||||
|
||||
$selectCharSet = array(
|
||||
'utf-8' => 'UTF-8',
|
||||
'iso-8859-1' => 'ISO-8859-1',
|
||||
);
|
||||
|
||||
$settings['vcard_charset'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Charset for the vCard export',
|
||||
'name' => 'vcard_charset',
|
||||
'values' => $selectCharSet,
|
||||
'help' => 'Which charset should be used for the vCard export.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'utf-8',
|
||||
);
|
||||
|
||||
if ($GLOBALS['egw_info']['server']['contact_repository'] != 'ldap')
|
||||
{
|
||||
$settings['private_addressbook'] = array(
|
||||
$GLOBALS['settings']['private_addressbook'] = array(
|
||||
'type' => 'check',
|
||||
'label' => 'Enable an extra private addressbook',
|
||||
'name' => 'private_addressbook',
|
||||
'help' => 'Do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook?',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
'forced' => false,
|
||||
);
|
||||
}
|
||||
$settings['link_title'] = array(
|
||||
$GLOBALS['settings']['link_title'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Link title for contacts show',
|
||||
'name' => 'link_title',
|
||||
@ -217,9 +192,8 @@ class addressbook_hooks
|
||||
'help' => '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!',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'org_name: n_family, n_given',
|
||||
);
|
||||
$settings['addr_format'] = array(
|
||||
$GLOBALS['settings']['addr_format'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default address format',
|
||||
'name' => 'addr_format',
|
||||
@ -230,9 +204,8 @@ class addressbook_hooks
|
||||
'help' => '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.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'postcode_city',
|
||||
);
|
||||
$settings['fileas_default'] = array(
|
||||
$GLOBALS['settings']['fileas_default'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Default file as format',
|
||||
'name' => 'fileas_default',
|
||||
@ -240,18 +213,16 @@ class addressbook_hooks
|
||||
'help' => 'Default format for fileas, eg. for new entries.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> 'org_name: n_family, n_given',
|
||||
);
|
||||
$settings['hide_accounts'] = array(
|
||||
$GLOBALS['settings']['hide_accounts'] = array(
|
||||
'type' => 'check',
|
||||
'label' => 'Hide accounts from addressbook',
|
||||
'name' => 'hide_accounts',
|
||||
'help' => 'Hides accounts completly from the adressbook.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => false,
|
||||
'default'=> false,
|
||||
);
|
||||
$settings['distributionListPreferredMail'] = array(
|
||||
$GLOBALS['settings']['distributionListPreferredMail'] = array(
|
||||
'type' => 'select',
|
||||
'label' => 'Preferred email address to use in distribution lists',
|
||||
'name' => 'distributionListPreferredMail',
|
||||
@ -261,14 +232,13 @@ class addressbook_hooks
|
||||
),
|
||||
'help' => 'Defines which email address (business or home) to use as the preferred one for distribution lists in mail.',
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
'forced'=> 'email',
|
||||
'admin' => False
|
||||
);
|
||||
if ($GLOBALS['egw_info']['user']['apps']['filemanager'])
|
||||
{
|
||||
$link = egw::link('/index.php','menuaction=addressbook.addressbook_merge.show_replacements');
|
||||
$link = $GLOBALS['egw']->link('/index.php','menuaction=addressbook.addressbook_merge.show_replacements');
|
||||
|
||||
$settings['default_document'] = array(
|
||||
$GLOBALS['settings']['default_document'] = array(
|
||||
'type' => 'input',
|
||||
'size' => 60,
|
||||
'label' => 'Default document to insert contacts',
|
||||
@ -280,7 +250,7 @@ class addressbook_hooks
|
||||
'xmlrpc' => True,
|
||||
'admin' => False,
|
||||
);
|
||||
$settings['document_dir'] = array(
|
||||
$GLOBALS['settings']['document_dir'] = array(
|
||||
'type' => 'input',
|
||||
'size' => 60,
|
||||
'label' => 'Directory with documents to insert contacts',
|
||||
@ -293,7 +263,7 @@ class addressbook_hooks
|
||||
'admin' => False,
|
||||
);
|
||||
}
|
||||
return $settings;
|
||||
return true; // otherwise prefs say it cant find the file ;-)
|
||||
}
|
||||
|
||||
/**
|
||||
@ -307,7 +277,7 @@ class addressbook_hooks
|
||||
'description' => 'Addressbook',
|
||||
'url' => '/index.php',
|
||||
'extradata' => 'menuaction=addressbook.addressbook_ui.edit',
|
||||
'options' => "onclick=\"egw_openWindowCentered2(this,'_blank',850,440,'yes'); return false;\"".
|
||||
'options' => "onclick=\"window.open(this,'_blank','dependent=yes,width=850,height=440,scrollbars=yes,status=yes'); return false;\"".
|
||||
' title="'.htmlspecialchars(lang('Edit extra account-data in the addressbook')).'"',
|
||||
);
|
||||
}
|
||||
@ -328,7 +298,6 @@ class addressbook_hooks
|
||||
'menuaction' => 'addressbook.addressbook_ui.view'
|
||||
),
|
||||
'view_id' => 'contact_id',
|
||||
'view_list' => 'addressbook.addressbook_ui.index',
|
||||
'add' => array(
|
||||
'menuaction' => 'addressbook.addressbook_ui.edit'
|
||||
),
|
||||
@ -336,7 +305,6 @@ class addressbook_hooks
|
||||
'add_id' => 'link_id',
|
||||
'add_popup' => '850x440',
|
||||
'file_access'=> 'addressbook.addressbook_bo.file_access',
|
||||
'default_types' => array('n' => array('name' => 'contact', 'options' => array('icon' => 'navbar.png','template' => 'addressbook.edit'))),
|
||||
);
|
||||
}
|
||||
|
||||
@ -365,15 +333,4 @@ class addressbook_hooks
|
||||
// addressbook uses group-acl, only if contacts-backend is NOT LDAP, as the ACL can not be modified there
|
||||
return $GLOBALS['egw_info']['server']['contact_repository'] != 'ldap';
|
||||
}
|
||||
|
||||
/**
|
||||
* For which groups should no group acl be used: addressbook always
|
||||
*
|
||||
* @param string|array $data
|
||||
* @return boolean|array true, false or array with group-account_id's
|
||||
*/
|
||||
static function not_enum_group_acls($data)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -826,7 +826,7 @@ class addressbook_ldap
|
||||
|
||||
$entries = ldap_get_entries($this->ds, $result);
|
||||
$this->total = $entries['count'];
|
||||
foreach((array)$entries as $i => $entry)
|
||||
foreach ((array)$entries as $i => $entry)
|
||||
{
|
||||
if (!is_int($i)) continue; // eg. count
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
* @link http://www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @package addressbook
|
||||
* @copyright (c) 2007-9 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2007/8 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
@ -13,7 +13,7 @@
|
||||
/**
|
||||
* Addressbook - document merge object
|
||||
*/
|
||||
class addressbook_merge extends bo_merge
|
||||
class addressbook_merge // extends bo_merge
|
||||
{
|
||||
/**
|
||||
* Functions that can be called via menuaction
|
||||
@ -21,6 +21,12 @@ class addressbook_merge extends bo_merge
|
||||
* @var array
|
||||
*/
|
||||
var $public_functions = array('show_replacements' => true);
|
||||
/**
|
||||
* Instance of the addressbook_bo class
|
||||
*
|
||||
* @var addressbook_bo
|
||||
*/
|
||||
var $contacts;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
@ -29,25 +35,116 @@ class addressbook_merge extends bo_merge
|
||||
*/
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->contacts = new addressbook_bo();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get addressbook replacements
|
||||
* Return replacements for a contact
|
||||
*
|
||||
* @param int $id id of entry
|
||||
* @param string &$content=null content to create some replacements only if they are use
|
||||
* @return array|boolean
|
||||
* @param int/string/array $contact contact-array or id
|
||||
* @param string $prefix='' prefix like eg. 'user'
|
||||
* @return array
|
||||
*/
|
||||
protected function get_replacements($id,&$content=null)
|
||||
function contact_replacements($contact,$prefix='')
|
||||
{
|
||||
if (!($replacements = $this->contact_replacements($id)))
|
||||
if (!is_array($contact))
|
||||
{
|
||||
return false;
|
||||
$contact = $this->contacts->read($contact);
|
||||
}
|
||||
if (strpos($content,'$$calendar/') !== null)
|
||||
if (!is_array($contact)) return array();
|
||||
|
||||
$replacements = array();
|
||||
foreach(array_keys($this->contacts->contact_fields) as $name)
|
||||
{
|
||||
$replacements += $this->calendar_replacements($id,strpos($content,'$$calendar/-1/') !== null);
|
||||
$value = $contact[$name];
|
||||
switch($name)
|
||||
{
|
||||
case 'created': case 'modified':
|
||||
$value = date($GLOBALS['egw_info']['user']['preferences']['common']['dateformat'].' '.
|
||||
($GLOBALS['egw_info']['user']['preferences']['common']['timeformat']==12?'h:i a':'H:i'),$value);
|
||||
break;
|
||||
case 'bday':
|
||||
if ($value)
|
||||
{
|
||||
list($y,$m,$d) = explode('-',$value);
|
||||
$value = $GLOBALS['egw']->common->dateformatorder($y,$m,$d,true);
|
||||
}
|
||||
break;
|
||||
case 'owner': case 'creator': case 'modifier':
|
||||
$value = $GLOBALS['egw']->common->grab_owner_name($value);
|
||||
break;
|
||||
case 'cat_id':
|
||||
if ($value)
|
||||
{
|
||||
// if cat-tree is displayed, we return a full category path not just the name of the cat
|
||||
$use = $GLOBALS['egw_info']['server']['cat_tab'] == 'Tree' ? 'path' : 'name';
|
||||
$cats = array();
|
||||
foreach(is_array($value) ? $value : explode(',',$value) as $cat_id)
|
||||
{
|
||||
$cats[] = $GLOBALS['egw']->categories->id2name($cat_id,$use);
|
||||
}
|
||||
$value = implode(', ',$cats);
|
||||
}
|
||||
break;
|
||||
case 'jpegphoto': // returning a link might make more sense then the binary photo
|
||||
if ($contact['photo'])
|
||||
{
|
||||
$value = ($GLOBALS['egw_info']['server']['webserver_url']{0} == '/' ?
|
||||
($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['HTTP_HOST'] : '').
|
||||
$GLOBALS['egw']->link('/index.php',$contact['photo']);
|
||||
}
|
||||
break;
|
||||
case 'tel_prefer':
|
||||
if ($value && $contact[$value])
|
||||
{
|
||||
$value = $contact[$value];
|
||||
}
|
||||
break;
|
||||
case 'account_id':
|
||||
if ($value)
|
||||
{
|
||||
$replacements['$$'.($prefix ? $prefix.'/':'').'account_lid$$'] = $GLOBALS['egw']->accounts->id2name($value);
|
||||
}
|
||||
break;
|
||||
}
|
||||
if ($name != 'photo') $replacements['$$'.($prefix ? $prefix.'/':'').$name.'$$'] = $value;
|
||||
}
|
||||
// set custom fields
|
||||
foreach($this->contacts->customfields as $name => $field)
|
||||
{
|
||||
$name = '#'.$name;
|
||||
$value = (string)$contact[$name];
|
||||
switch($field['type'])
|
||||
{
|
||||
case 'select-account':
|
||||
if ($value) $value = common::grab_owner_name($value);
|
||||
break;
|
||||
|
||||
case 'select':
|
||||
if (count($field['values']) == 1 && isset($field['values']['@']))
|
||||
{
|
||||
$field['values'] = customfields_widget::_get_options_from_file($field['values']['@']);
|
||||
}
|
||||
$values = array();
|
||||
foreach($field['rows'] > 1 ? explode(',',$value) : (array) $value as $value)
|
||||
{
|
||||
$values[] = $field['values'][$value];
|
||||
}
|
||||
$value = implode(', ',$values);
|
||||
break;
|
||||
|
||||
case 'date':
|
||||
case 'date-time':
|
||||
if ($value)
|
||||
{
|
||||
$format = $field['len'] ? $field['len'] : ($field['type'] == 'date' ? 'Y-m-d' : 'Y-m-d H:i:s');
|
||||
$date = array_combine(preg_split('/[\\/. :-]/',$format),preg_split('/[\\/. :-]/',$value));
|
||||
$value = common::dateformatorder($date['Y'],$date['m'],$date['d'],true);
|
||||
if (isset($date['H'])) $value .= ' '.common::formattime($date['H'],$date['i']);
|
||||
}
|
||||
break;
|
||||
}
|
||||
$replacements['$$'.($prefix ? $prefix.'/':'').$name.'$$'] = $value;
|
||||
}
|
||||
return $replacements;
|
||||
}
|
||||
@ -59,8 +156,9 @@ class addressbook_merge extends bo_merge
|
||||
* @param boolean $last_event_too=false also include information about the last event
|
||||
* @return array
|
||||
*/
|
||||
protected function calendar_replacements($id,$last_event_too=false)
|
||||
function calendar_replacements($id,$last_event_too=false)
|
||||
{
|
||||
require_once(EGW_INCLUDE_ROOT.'/calendar/inc/class.calendar_boupdate.inc.php');
|
||||
$calendar = new calendar_boupdate();
|
||||
|
||||
// next events
|
||||
@ -119,15 +217,108 @@ class addressbook_merge extends bo_merge
|
||||
return $replacements;
|
||||
}
|
||||
|
||||
/**
|
||||
* Merges a given document with contact data
|
||||
*
|
||||
* @param string $document vfs-path of document
|
||||
* @param array $ids array with contact id(s)
|
||||
* @param string &$err error-message on error
|
||||
* @return string/boolean merged document or false on error
|
||||
*/
|
||||
function merge($document,$ids,&$err)
|
||||
{
|
||||
if (!($content = file_get_contents(egw_vfs::PREFIX.$document)))
|
||||
{
|
||||
$err = lang("Document '%1' does not exist or is not readable for you!",$document);
|
||||
return false;
|
||||
}
|
||||
list($contentstart,$contentrepeat,$contentend) = preg_split('/\$\$pagerepeat\$\$/',$content,-1, PREG_SPLIT_NO_EMPTY); //get differt parts of document, seperatet by Pagerepeat
|
||||
if (count($ids) > 1 && !$contentrepeat)
|
||||
{
|
||||
$err = lang('for more then one contact in a document use the tag pagerepeat!');
|
||||
return false;
|
||||
}
|
||||
foreach ($ids as $id)
|
||||
{
|
||||
if ($contentrepeat) $content = $contentrepeat; //content to repeat
|
||||
// generate replacements
|
||||
if (!($replacements = $this->contact_replacements($id)))
|
||||
{
|
||||
$err = lang('Contact not found!');
|
||||
return false;
|
||||
}
|
||||
if (strpos($content,'$$user/') !== null && ($user = $GLOBALS['egw']->accounts->id2name($GLOBALS['egw_info']['user']['account_id'],'person_id')))
|
||||
{
|
||||
$replacements += $this->contact_replacements($user,'user');
|
||||
}
|
||||
if (!(strpos($content,'$$calendar/') === false))
|
||||
{
|
||||
$replacements += $this->calendar_replacements($id,!(strpos($content,'$$calendar/-1/') === false));
|
||||
}
|
||||
$replacements['$$date$$'] = date($GLOBALS['egw_info']['user']['preferences']['common']['dateformat'],time()+$this->contacts->tz_offset_s);
|
||||
|
||||
if ($this->contacts->prefs['csv_charset']) // if we have an export-charset defined, use it here to
|
||||
{
|
||||
$replacements = $GLOBALS['egw']->translation->convert($replacements,$GLOBALS['egw']->translation->charset(),$this->contacts->prefs['csv_charset']);
|
||||
}
|
||||
$content = str_replace(array_keys($replacements),array_values($replacements),$content);
|
||||
|
||||
if (strpos($content,'$$calendar/') !== null) // remove not existing event-replacements
|
||||
{
|
||||
$content = preg_replace('/\$\$calendar\/[0-9]+\/[a-z_]+\$\$/','',$content);
|
||||
}
|
||||
|
||||
$this->replacements = $replacements;
|
||||
if (strpos($content,'$$IF'))
|
||||
{ //Example use to use: $$IF n_prefix~Herr~Sehr geehrter~Sehr geehrte$$
|
||||
$content = preg_replace_callback('/\$\$IF ([0-9a-z_-]+)~(.*)~(.*)~(.*)\$\$/imU',Array($this,'replace_callback'),$content);
|
||||
}
|
||||
|
||||
if ($contentrepeat) $contentrep[$id] = $content;
|
||||
}
|
||||
if ($contentrepeat)
|
||||
{
|
||||
return $contentstart.implode('\\par \\page\\pard\\plain',$contentrep).$contentend;
|
||||
}
|
||||
return $content;
|
||||
}
|
||||
|
||||
|
||||
function replace_callback($param)
|
||||
{
|
||||
$replace = preg_match('/'.$param[2].'/',$this->replacements['$$'.$param[1].'$$']) ? $param[3] : $param[4];
|
||||
return $replace;
|
||||
}
|
||||
|
||||
/**
|
||||
* Download document merged with contact(s)
|
||||
*
|
||||
* @param string $document vfs-path of document
|
||||
* @param array $ids array with contact id(s)
|
||||
* @return string with error-message on error, otherwise it does NOT return
|
||||
*/
|
||||
function download($document,$ids)
|
||||
{
|
||||
if (!($merged = $this->merge($document,$ids,$err)))
|
||||
{
|
||||
return $err;
|
||||
}
|
||||
$mime_type = egw_vfs::mime_content_type($document);
|
||||
ExecMethod2('phpgwapi.browser.content_header',basename($document),$mime_type);
|
||||
echo $merged;
|
||||
|
||||
$GLOBALS['egw']->common->egw_exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate table with replacements for the preferences
|
||||
*
|
||||
*/
|
||||
public function show_replacements()
|
||||
function show_replacements()
|
||||
{
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Addressbook').' - '.lang('Replacements for inserting contacts into documents');
|
||||
$GLOBALS['egw_info']['flags']['nonavbar'] = false;
|
||||
common::egw_header();
|
||||
$GLOBALS['egw']->common->egw_header();
|
||||
|
||||
echo "<table width='90%' align='center'>\n";
|
||||
echo '<tr><td colspan="4"><h3>'.lang('Contact fields:')."</h3></td></tr>";
|
||||
@ -148,30 +339,17 @@ class addressbook_merge extends bo_merge
|
||||
$n++;
|
||||
}
|
||||
|
||||
echo '<tr><td colspan="4"><h3>'.lang('Custom fields').":</h3></td></tr>";
|
||||
foreach($this->contacts->customfields as $name => $field)
|
||||
{
|
||||
echo '<tr><td>$$#'.$name.'$$</td><td colspan="3">'.$field['label']."</td></tr>\n";
|
||||
}
|
||||
|
||||
echo '<tr><td colspan="4"><h3>'.lang('General fields:')."</h3></td></tr>";
|
||||
foreach(array(
|
||||
'date' => lang('Date'),
|
||||
'user/n_fn' => lang('Name of current user, all other contact fields are valid too'),
|
||||
'user/account_lid' => lang('Username'),
|
||||
'pagerepeat' => lang('For serial letter use this tag. Put the content, you want to repeat between two Tags.'),
|
||||
'label' => lang('Use this tag for addresslabels. Put the content, you want to repeat, between two tags.'),
|
||||
'labelplacement' => lang('Tag to mark positions for address labels'),
|
||||
'IF fieldname' => lang('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.'),
|
||||
'NELF' => lang('Example $$NELF role$$ - if field role is not empty, you will get a new line with the value of field role'),
|
||||
'NENVLF' => lang('Example $$NELFNV role$$ - if field role is not empty, set a LF without any value of the field'),
|
||||
'LETTERPREFIX' => lang('Example $$LETTERPREFIX$$ - Gives a letter prefix without double spaces, if the title is emty for example'),
|
||||
'LETTERPREFIXCUSTOM' => lang('Example $$LETTERPREFIXCUSTOM n_prefix title n_family$$ - Example: Mr Dr. James Miller'),
|
||||
) as $name => $label)
|
||||
{
|
||||
echo '<tr><td>$$'.$name.'$$</td><td colspan="3">'.$label."</td></tr>\n";
|
||||
}
|
||||
|
||||
$GLOBALS['egw']->translation->add_app('calendar');
|
||||
echo '<tr><td colspan="4"><h3>'.lang('Calendar fields:')." # = 1, 2, ..., 20, -1</h3></td></tr>";
|
||||
foreach(array(
|
||||
@ -208,6 +386,6 @@ class addressbook_merge extends bo_merge
|
||||
}
|
||||
echo "</table>\n";
|
||||
|
||||
common::egw_footer();
|
||||
$GLOBALS['egw']->common->egw_footer();
|
||||
}
|
||||
}
|
||||
|
@ -105,7 +105,7 @@ class addressbook_sif extends addressbook_bo
|
||||
|
||||
function endElement($_parser, $_tag)
|
||||
{
|
||||
if (!empty($this->sifMapping[$_tag]))
|
||||
if(!empty($this->sifMapping[$_tag]))
|
||||
{
|
||||
$this->contact[$this->sifMapping[$_tag]] = trim($this->sifData);
|
||||
}
|
||||
@ -181,7 +181,7 @@ class addressbook_sif extends addressbook_bo
|
||||
{
|
||||
$result = array();
|
||||
|
||||
if (($contact = $this->siftoegw($_sifdata)))
|
||||
if ($contact = $this->siftoegw($_sifdata))
|
||||
{
|
||||
if ($contentID)
|
||||
{
|
||||
@ -256,6 +256,7 @@ class addressbook_sif extends addressbook_bo
|
||||
$contact['owner'] = $GLOBALS['egw_info']['user']['account_primary_group'];
|
||||
break;
|
||||
case 'P':
|
||||
case 'N':
|
||||
case 0:
|
||||
$contact['owner'] = $this->user;
|
||||
break;
|
||||
|
@ -164,13 +164,6 @@ class addressbook_so
|
||||
*/
|
||||
var $content_types = array();
|
||||
|
||||
/**
|
||||
* Special content type to indicate a deleted addressbook
|
||||
*
|
||||
* @var String;
|
||||
*/
|
||||
const DELETED_TYPE = 'D';
|
||||
|
||||
/**
|
||||
* total number of matches of last search
|
||||
*
|
||||
@ -297,14 +290,7 @@ class addressbook_so
|
||||
// ToDo: it should be the other way arround, the backend should set the grants it uses
|
||||
$this->somain->grants =& $this->grants;
|
||||
|
||||
if($this->somain instanceof addressbook_sql)
|
||||
{
|
||||
$this->soextra =& $this->somain;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->soextra = new addressbook_sql();
|
||||
}
|
||||
$this->soextra = new so_sql('phpgwapi',$this->extra_table);
|
||||
|
||||
$this->customfields = config::get_customfields('addressbook');
|
||||
$this->content_types = config::get_content_types('addressbook');
|
||||
@ -317,17 +303,6 @@ class addressbook_so
|
||||
'icon' => 'navbar.png'
|
||||
)));
|
||||
}
|
||||
|
||||
// Add in deleted type for admins
|
||||
if($this->is_admin()) {
|
||||
$this->content_types[self::DELETED_TYPE] = array(
|
||||
'name' => lang('Deleted'),
|
||||
'options' => array(
|
||||
'template' => 'addressbook.edit',
|
||||
'icon' => 'deleted.png'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -346,19 +321,42 @@ class addressbook_so
|
||||
/**
|
||||
* Read all customfields of the given id's
|
||||
*
|
||||
* @param int|array $ids
|
||||
* @param int/array $ids
|
||||
* @param array $field_names=null custom fields to read, default all
|
||||
* @return array id => name => value
|
||||
*/
|
||||
function read_customfields($ids,$field_names=null)
|
||||
{
|
||||
return $this->soextra->read_customfields($ids,$fieldnames);
|
||||
if ($this->contact_repository == 'ldap')
|
||||
{
|
||||
return array(); // ldap does not support custom-fields (non-nummeric uid)
|
||||
}
|
||||
if (is_null($field_names)) $field_names = array_keys($this->customfields);
|
||||
|
||||
if(!is_array($ids) && is_numeric($ids)) {
|
||||
$ids = array((int)$ids);
|
||||
}
|
||||
foreach($ids as $key => $id)
|
||||
{
|
||||
if (!(int)$id) unset($ids[$key]);
|
||||
}
|
||||
if (!$ids || !$field_names) return array(); // nothing to do, eg. all these contacts are in ldap
|
||||
|
||||
$fields = array();
|
||||
foreach((array)$this->soextra->search(array(
|
||||
$this->extra_id => $ids,
|
||||
$this->extra_key => $field_names,
|
||||
),false) as $data)
|
||||
{
|
||||
if ($data) $fields[$data[$this->extra_id]][$data[$this->extra_key]] = $data[$this->extra_value];
|
||||
}
|
||||
return $fields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Read all distributionlists of the given id's
|
||||
*
|
||||
* @param int|array $ids
|
||||
* @param int/array $ids
|
||||
* @return array id => name => value
|
||||
*/
|
||||
function read_distributionlist($ids, $dl_allowed=array())
|
||||
@ -432,10 +430,7 @@ class addressbook_so
|
||||
if ($this->somain->delete($where))
|
||||
{
|
||||
// delete customfields, can return 0 if there are no customfields
|
||||
if(!($this->somain instanceof addressbook_sql))
|
||||
{
|
||||
$this->soextra->delete_customfields(array($this->extra_id => $contact));
|
||||
}
|
||||
$this->soextra->delete(array($this->extra_id => $contact));
|
||||
|
||||
// delete from distribution list(s)
|
||||
$this->remove_from_list($contact);
|
||||
@ -504,10 +499,26 @@ class addressbook_so
|
||||
}
|
||||
if($error_nr) return $error_nr;
|
||||
|
||||
// save customfields, if not already done by somain->save();
|
||||
if(!($this->somain instanceof addressbook_sql))
|
||||
// save customfields
|
||||
foreach ((array)$this->customfields as $field => $options)
|
||||
{
|
||||
$this->soextra->save_customfields($this->data2db($contact));
|
||||
if (!isset($contact['#'.$field])) continue;
|
||||
|
||||
$data = array(
|
||||
$this->extra_id => $contact['id'],
|
||||
$this->extra_owner => $contact['owner'],
|
||||
$this->extra_key => $field,
|
||||
);
|
||||
if((string) $contact['#'.$field] === '') // dont write empty values
|
||||
{
|
||||
$this->soextra->delete($data); // just delete them, in case they were previously set
|
||||
continue;
|
||||
}
|
||||
$data[$this->extra_value] = $contact['#'.$field];
|
||||
if (($error_nr = $this->soextra->save($data)))
|
||||
{
|
||||
return $error_nr;
|
||||
}
|
||||
}
|
||||
return false; // no error
|
||||
}
|
||||
@ -530,6 +541,18 @@ class addressbook_so
|
||||
{
|
||||
return $contact;
|
||||
}
|
||||
// try reading customfields only if we have some (none for LDAP!)
|
||||
if ($this->customfields && $this->contact_repository != 'ldap')
|
||||
{
|
||||
$customfields = $this->soextra->search(array(
|
||||
$this->extra_id => $contact['id'],
|
||||
$this->extra_key => array_keys($this->customfields),
|
||||
),false);
|
||||
foreach ((array)$customfields as $field)
|
||||
{
|
||||
$contact['#'.$field[$this->extra_key]] = $field[$this->extra_value];
|
||||
}
|
||||
}
|
||||
$dl_list=$this->read_distributionlist(array($contact['id']));
|
||||
if (count($dl_list)) $contact['distrib_lists']=implode("\n",$dl_list[$contact['id']]);
|
||||
return $this->db2data($contact);
|
||||
@ -540,10 +563,10 @@ class addressbook_so
|
||||
*
|
||||
* '*' and '?' are replaced with sql-wildcards '%' and '_'
|
||||
*
|
||||
* @param array|string $criteria array of key and data cols, OR string to search over all standard search fields
|
||||
* @param boolean|string $only_keys=true True returns only keys, False returns all cols. comma seperated list of keys to return
|
||||
* @param array/string $criteria array of key and data cols, OR string to search over all standard search fields
|
||||
* @param boolean/string $only_keys=true True returns only keys, False returns all cols. comma seperated list of keys to return
|
||||
* @param string $order_by='' fieldnames + {ASC|DESC} separated by colons ',', can also contain a GROUP BY (if it contains ORDER BY)
|
||||
* @param string|array $extra_cols='' string or array of strings to be added to the SELECT, eg. "count(*) as num"
|
||||
* @param string/array $extra_cols='' string or array of strings to be added to the SELECT, eg. "count(*) as num"
|
||||
* @param string $wildcard='' appended befor and after each criteria
|
||||
* @param boolean $empty=false False=empty criteria are ignored in query, True=empty have to be empty in row
|
||||
* @param string $op='AND' defaults to 'AND', can be set to 'OR' too, then criteria's are OR'ed together
|
||||
@ -562,21 +585,6 @@ class addressbook_so
|
||||
{
|
||||
$filter['adr_one_countryname'] = $GLOBALS['egw']->country->get_full_name($filter['adr_one_countryname']);
|
||||
}
|
||||
|
||||
// Hide deleted items unless type is specifically deleted
|
||||
if(!is_array($filter)) $filter = $filter ? (array) $filter : array();
|
||||
if($filter['tid'] !== self::DELETED_TYPE)
|
||||
{
|
||||
if ($join && strpos($join,'RIGHT JOIN') !== false) // used eg. to search for groups
|
||||
{
|
||||
$filter[] = '(contact_tid != \'' . self::DELETED_TYPE . '\' OR contact_tid IS NULL)';
|
||||
}
|
||||
else
|
||||
{
|
||||
$filter[] = 'contact_tid != \'' . self::DELETED_TYPE . '\'';
|
||||
}
|
||||
}
|
||||
|
||||
$backend =& $this->get_backend(null,$filter['owner']);
|
||||
// single string to search for --> create so_sql conformant search criterial for the standard search columns
|
||||
if ($criteria && !is_array($criteria))
|
||||
@ -594,31 +602,14 @@ class addressbook_so
|
||||
{
|
||||
$cols = $this->account_cols_to_search;
|
||||
}
|
||||
if($backend instanceof addressbook_sql)
|
||||
// search the customfields only if some exist, but only for sql!
|
||||
if (get_class($backend) == 'addressbook_sql' && $this->customfields)
|
||||
{
|
||||
// Keep a string, let the parent handle it
|
||||
$criteria = $search;
|
||||
|
||||
foreach($cols as $key => &$col)
|
||||
{
|
||||
if(!array_key_exists($col, $backend->db_cols))
|
||||
{
|
||||
if(!($col = array_search($col, $backend->db_cols)))
|
||||
{
|
||||
// Can't search this column, it will error if we try
|
||||
unset($cols[$key]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$backend->columns_to_search = $cols;
|
||||
}
|
||||
else
|
||||
$cols[] = $this->extra_value;
|
||||
}
|
||||
foreach($cols as $col)
|
||||
{
|
||||
foreach($cols as $col)
|
||||
{
|
||||
$criteria[$col] = $search;
|
||||
}
|
||||
$criteria[$col] = $search;
|
||||
}
|
||||
}
|
||||
if (is_array($criteria) && count($criteria))
|
||||
@ -688,7 +679,6 @@ class addressbook_so
|
||||
|
||||
foreach($rows as $n => $row)
|
||||
{
|
||||
if (strpos($row['org_name'],'&')!==false) $row['org_name'] = str_replace('&','*AND*',$row['org_name']); //echo "Ampersand found<br>";
|
||||
$rows[$n]['id'] = 'org_name:'.$row['org_name'];
|
||||
foreach(array(
|
||||
'org_unit' => lang('departments'),
|
||||
@ -701,7 +691,6 @@ class addressbook_so
|
||||
}
|
||||
else
|
||||
{
|
||||
if (strpos($row[$by],'&')!==false) $row[$by] = str_replace('&','*AND*',$row[$by]); //echo "Ampersand found<br>";
|
||||
$rows[$n]['id'] .= '|||'.$by.':'.$row[$by];
|
||||
}
|
||||
}
|
||||
@ -739,10 +728,7 @@ class addressbook_so
|
||||
if (!$new_owner)
|
||||
{
|
||||
$this->somain->delete(array('owner' => $account_id));
|
||||
if(!($this->somain instanceof addressbook_sql))
|
||||
{
|
||||
$this->soextra->delete_customfields(array($this->extra_owner => $account_id));
|
||||
}
|
||||
$this->soextra->delete(array($this->extra_owner => $account_id));
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -762,13 +748,13 @@ class addressbook_so
|
||||
* @param int $owner=null account_id of owner or 0 for accounts
|
||||
* @return object
|
||||
*/
|
||||
function get_backend($contact_id=null,$owner=null)
|
||||
function &get_backend($contact_id=null,$owner=null)
|
||||
{
|
||||
if ($owner === '') $owner = null;
|
||||
|
||||
if ($this->contact_repository != $this->account_repository && is_object($this->so_accounts) &&
|
||||
(!is_null($owner) && !$owner || is_array($contact_id) && $contact_id['account_id'] || !is_null($contact_id) &&
|
||||
($this->contact_repository == 'sql' && (!is_numeric($contact_id) && !is_array($contact_id) )||
|
||||
($this->contact_repository == 'sql' && (!is_numeric($contact_id) && !is_array($contact_id)) ||
|
||||
$this->contact_repository == 'ldap' && is_numeric($contact_id))))
|
||||
{
|
||||
return $this->so_accounts;
|
||||
@ -964,7 +950,7 @@ class addressbook_so
|
||||
/**
|
||||
* Deletes a distribution list (incl. it's members)
|
||||
*
|
||||
* @param int|array $list list_id(s)
|
||||
* @param int/array $list list_id(s)
|
||||
* @return number of members deleted or false if list does not exist
|
||||
*/
|
||||
function delete_list($list)
|
||||
@ -990,7 +976,7 @@ class addressbook_so
|
||||
/**
|
||||
* Check if distribution lists are availible for a given addressbook
|
||||
*
|
||||
* @param int|string $owner='' addressbook (eg. 0 = accounts), default '' = "all" addressbook (uses the main backend)
|
||||
* @param int/string $owner='' addressbook (eg. 0 = accounts), default '' = "all" addressbook (uses the main backend)
|
||||
* @return boolean
|
||||
*/
|
||||
function lists_available($owner='')
|
||||
|
@ -10,16 +10,22 @@
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
include_once(EGW_INCLUDE_ROOT.'/etemplate/inc/class.so_sql.inc.php');
|
||||
|
||||
/**
|
||||
* SQL storage object of the adressbook
|
||||
*/
|
||||
class addressbook_sql extends so_sql_cf
|
||||
class addressbook_sql extends so_sql
|
||||
{
|
||||
/**
|
||||
* name of custom fields table
|
||||
* name of customefields table
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
var $extra_table = 'egw_addressbook_extra';
|
||||
var $extra_join = ' LEFT JOIN egw_addressbook_extra ON egw_addressbook.contact_id=egw_addressbook_extra.contact_id';
|
||||
var $extra_join_order = ' LEFT JOIN egw_addressbook_extra extra_order ON egw_addressbook.contact_id=extra_order.contact_id';
|
||||
var $extra_join_filter = ' JOIN egw_addressbook_extra extra_filter ON egw_addressbook.contact_id=extra_filter.contact_id';
|
||||
var $account_repository = 'sql';
|
||||
var $contact_repository = 'sql';
|
||||
var $grants;
|
||||
@ -56,10 +62,7 @@ class addressbook_sql extends so_sql_cf
|
||||
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct('phpgwapi','egw_addressbook','egw_addressbook_extra','contact_');
|
||||
|
||||
// Get custom fields from addressbook instead of phpgwapi
|
||||
$this->customfields = config::get_customfields('addressbook');
|
||||
$this->so_sql('phpgwapi','egw_addressbook',null,'contact_',true); // true = using the global db object, no clone!
|
||||
|
||||
if ($GLOBALS['egw_info']['server']['account_repository'])
|
||||
{
|
||||
@ -121,8 +124,8 @@ class addressbook_sql extends so_sql_cf
|
||||
{
|
||||
$filter[] = $this->table_name.'.contact_owner != 0'; // in case there have been accounts in sql previously
|
||||
}
|
||||
$filter[] = "(".$this->table_name.".contact_owner=".(int)$GLOBALS['egw_info']['user']['account_id'].
|
||||
" OR contact_private=0 AND ".$this->table_name.".contact_owner IN (".
|
||||
$filter[] = "(contact_owner=".(int)$GLOBALS['egw_info']['user']['account_id'].
|
||||
" OR contact_private=0 AND contact_owner IN (".
|
||||
implode(',',array_keys($this->grants))."))";
|
||||
}
|
||||
}
|
||||
@ -279,6 +282,81 @@ class addressbook_sql extends so_sql_cf
|
||||
implode(',',array_keys($this->grants)).") OR $this->table_name.contact_owner IS NULL)";
|
||||
}
|
||||
}
|
||||
$search_customfields = isset($criteria['contact_value']) && !empty($criteria['contact_value']);
|
||||
if (is_array($criteria))
|
||||
{
|
||||
foreach($criteria as $col => $val)
|
||||
{
|
||||
if ($col[0] === '#') // search for a value in a certain custom field
|
||||
{
|
||||
$valarray=array();
|
||||
# val may be a list of values, constructed by multiple select fields, to be able to do the contains feature of adv-search
|
||||
# we split the value and search for each part individually
|
||||
if ($wildcard !='') {
|
||||
$valarray=explode(',',$val);
|
||||
} else {
|
||||
$valarray[]=$val;
|
||||
}
|
||||
$negate = false; //negate the search funktion
|
||||
if ($criteria[$col][0] == '!') $negate = True;
|
||||
unset($criteria[$col]);
|
||||
foreach ($valarray as $vkey => $part)
|
||||
{
|
||||
$criteria[] =$this->table_name.'.contact_id'.($negate ? ' not ' :'').' in (select '.$this->extra_table.'.contact_id from '.$this->extra_table.' where '.
|
||||
"(".$this->extra_table.".contact_name='".substr($col,1)."' AND ".$this->extra_table.".contact_value".(!$wildcard?' = ':' LIKE ')."'".$wildcard.($negate?substr($part,1):$part).$wildcard."'"."))";
|
||||
|
||||
}
|
||||
$search_customfields = true;
|
||||
}
|
||||
elseif($col === 'cat_id') // search in comma-sep. cat-column
|
||||
{
|
||||
$criteria = array_merge($criteria,$this->_cat_search($val));
|
||||
unset($criteria[$col]);
|
||||
}
|
||||
elseif($col === 'contact_value')
|
||||
{
|
||||
if ($order_by[0] == '#')
|
||||
{
|
||||
$criteria =array_merge($criteria,array('extra_order.contact_value'=>$val));
|
||||
unset($criteria[$col]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ($search_customfields) // search the custom-fields
|
||||
{
|
||||
$join .= $this->extra_join;
|
||||
}
|
||||
// do we order by a cf?
|
||||
if ($order_by[0] == '#')
|
||||
{
|
||||
list($val) = explode("<>''",$order_by);
|
||||
$order_by = str_replace($val,'extra_order.contact_value',$order_by);
|
||||
$join .= $this->extra_join_order.' AND extra_order.contact_name='.$this->db->quote(substr($val,1));
|
||||
}
|
||||
// do we filter by a cf?
|
||||
$extra_filter = '';
|
||||
foreach($filter as $name => $val)
|
||||
{
|
||||
if ($name[0] == '#')
|
||||
{
|
||||
if (!empty($val)) // empty -> dont filter
|
||||
{
|
||||
$join .= str_replace('extra_filter','extra_filter'.$extra_filter,$this->extra_join_filter.' AND extra_filter.contact_name='.$this->db->quote(substr($name,1)).
|
||||
' AND extra_filter.contact_value='.$this->db->quote($val));
|
||||
++$extra_filter;
|
||||
}
|
||||
unset($filter[$name]);
|
||||
}
|
||||
elseif($val[0] == '#') // lettersearch: #cfname like 's%'
|
||||
{
|
||||
list($cf) = explode(' ',$val);
|
||||
$join .= str_replace('extra_filter','extra_filter'.$extra_filter,$this->extra_join_filter.' AND extra_filter.contact_name='.$this->db->quote(substr($cf,1)).
|
||||
' AND '.str_replace($cf,'extra_filter.contact_value',$val));
|
||||
++$extra_filter;
|
||||
unset($filter[$name]);
|
||||
}
|
||||
}
|
||||
if (isset($filter['list']))
|
||||
{
|
||||
$join .= " JOIN $this->ab2list_table ON $this->table_name.contact_id=$this->ab2list_table.contact_id AND list_id=".(int)$filter['list'];
|
||||
@ -289,7 +367,9 @@ class addressbook_sql extends so_sql_cf
|
||||
switch(gettype($only_keys))
|
||||
{
|
||||
case 'boolean':
|
||||
// Correctly handled by parent class
|
||||
// only return the egw_addressbook columns, to not generate dublicates by the left join
|
||||
// and to not return the NULL for contact_{id|owner} of not found custom fields!
|
||||
$only_keys = (strpos($join,$this->extra_table)!==false?'DISTINCT ':'').$this->table_name.'.'.($only_keys ? 'contact_id AS contact_id' : '*');
|
||||
break;
|
||||
case 'string':
|
||||
$only_keys = explode(',',$only_keys);
|
||||
@ -314,7 +394,7 @@ class addressbook_sql extends so_sql_cf
|
||||
$filter[] = $this->table_name.'.contact_owner='.(int)$filter['owner'];
|
||||
unset($filter['owner']);
|
||||
}
|
||||
if (is_array($criteria) && isset($criteria['owner']))
|
||||
if (isset($criteria['owner']))
|
||||
{
|
||||
$criteria[] = $this->table_name.'.contact_owner='.(int)$criteria['owner'];
|
||||
unset($criteria['owner']);
|
||||
@ -538,14 +618,6 @@ class addressbook_sql extends so_sql_cf
|
||||
$keys = array('contact_uid' => $keys);
|
||||
}
|
||||
$contact = parent::read($keys,$extra_cols,$join);
|
||||
|
||||
// Change autoinc_id to match $this->db_cols
|
||||
$this->autoinc_id = $this->db_cols[$this->autoinc_id];
|
||||
if(($id = (int)$this->data[$this->autoinc_id]) && $cfs = $this->read_customfields($keys)) {
|
||||
$contact = array_merge($contact,$cfs[$id]);
|
||||
}
|
||||
$this->autoinc_id = array_search($this->autoinc_id, $this->db_cols);
|
||||
|
||||
// enforce a minium uid strength
|
||||
if (is_array($contact) && (!isset($contact['uid'])
|
||||
|| strlen($contact['uid']) < $minimum_uid_length)) {
|
||||
@ -594,7 +666,6 @@ class addressbook_sql extends so_sql_cf
|
||||
$this->data['etag'] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
// enforce a minium uid strength
|
||||
if (!$err && (!isset($this->data['uid'])
|
||||
|| strlen($this->data['uid']) < $minimum_uid_length)) {
|
||||
@ -617,49 +688,4 @@ class addressbook_sql extends so_sql_cf
|
||||
|
||||
return $this->db->select($this->lists_table,'*',array('list_id'=>$list),__LINE__,__FILE__)->fetch();
|
||||
}
|
||||
|
||||
/**
|
||||
* saves custom field data
|
||||
* Re-implemented to deal with extra contact_owner column
|
||||
*
|
||||
* @param array $data data to save (cf's have to be prefixed with self::CF_PREFIX = #)
|
||||
* @return bool false on success, errornumber on failure
|
||||
*/
|
||||
function save_customfields($data)
|
||||
{
|
||||
foreach ((array)$this->customfields as $name => $options)
|
||||
{
|
||||
if (!isset($data[$field = $this->get_cf_field($name)])) continue;
|
||||
|
||||
$where = array(
|
||||
$this->extra_id => $data['id'],
|
||||
$this->extra_key => $name,
|
||||
);
|
||||
$is_multiple = $this->is_multiple($name);
|
||||
|
||||
// we explicitly need to delete fields, if value is empty or field allows multiple values or we have no unique index
|
||||
if(empty($data[$field]) || $is_multiple || !$this->extra_has_unique_index)
|
||||
{
|
||||
$this->db->delete($this->extra_table,$where,__LINE__,__FILE__,$this->app);
|
||||
if (empty($data[$field])) continue; // nothing else to do for empty values
|
||||
}
|
||||
foreach($is_multiple && !is_array($data[$field]) ? explode(',',$data[$field]) : (array)$data[$field] as $value)
|
||||
{
|
||||
if (!$this->db->insert($this->extra_table,array($this->extra_value => $value, 'contact_owner' => $data['owner']),$where,__LINE__,__FILE__,$this->app))
|
||||
{
|
||||
return $this->db->Errno;
|
||||
}
|
||||
}
|
||||
}
|
||||
return false; // no error
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes custom field data
|
||||
* Implemented to deal with LDAP backend, which saves CFs in SQL, but the account record is in LDAP
|
||||
*/
|
||||
function delete_customfields($data)
|
||||
{
|
||||
$this->db->delete($this->extra_table,$data,__LINE__,__FILE__);
|
||||
}
|
||||
}
|
||||
|
@ -46,20 +46,12 @@ class addressbook_tracking extends bo_tracking
|
||||
*/
|
||||
var $field2history = array(
|
||||
);
|
||||
|
||||
/**
|
||||
* Translate field name to label
|
||||
*/
|
||||
public $field2label = array(
|
||||
// Custom fields added in constructor
|
||||
);
|
||||
|
||||
/**
|
||||
* Should the user (passed to the track method or current user if not passed) be used as sender or get_config('sender')
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
var $prefer_user_as_sender = false;
|
||||
var $prefer_user_as_sender = true;
|
||||
/**
|
||||
* Instance of the bocontacts class calling us
|
||||
*
|
||||
@ -79,22 +71,6 @@ class addressbook_tracking extends bo_tracking
|
||||
parent::__construct(); // calling the constructor of the extended class
|
||||
|
||||
$this->contacts =& $bocontacts;
|
||||
|
||||
if (is_object($bocontacts->somain) && is_array($bocontacts->somain->db_cols))
|
||||
{
|
||||
$this->field2history = array_combine($bocontacts->somain->db_cols, $bocontacts->somain->db_cols);
|
||||
unset($this->field2history['modified']);
|
||||
unset($this->field2history['modifier']);
|
||||
unset($this->field2history['etag']);
|
||||
unset($this->field2history['jpegphoto']);
|
||||
}
|
||||
$custom = config::get_customfields('addressbook', true);
|
||||
if(is_array($custom)) {
|
||||
foreach($custom as $name => $settings) {
|
||||
$this->field2history['#'.$name] = '#'.$name;
|
||||
$this->field2label['#'.$name] = $settings['label'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@ -116,9 +92,7 @@ class addressbook_tracking extends bo_tracking
|
||||
case 'copy':
|
||||
if ($data['is_contactform'])
|
||||
{
|
||||
$copy = preg_split('/, ?/',$data['email_contactform']);
|
||||
if ($data['email_copytoreceiver']) $copy[] = $data['email'];
|
||||
return $copy;
|
||||
return preg_split('/, ?/',$data['email_contactform']);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -145,12 +119,12 @@ class addressbook_tracking extends bo_tracking
|
||||
if (!$data['modified'] || !$old)
|
||||
{
|
||||
return lang('New contact submitted by %1 at %2',
|
||||
common::grab_owner_name($data['creator']),
|
||||
$this->datetime($data['created']));
|
||||
$GLOBALS['egw']->common->grab_owner_name($data['creator']),
|
||||
$this->datetime($data['created']-$this->tracker->tz_offset_s));
|
||||
}
|
||||
return lang('Contact modified by %1 at %2',
|
||||
common::grab_owner_name($data['modifier']),
|
||||
$this->datetime($data['modified']));
|
||||
$GLOBALS['egw']->common->grab_owner_name($data['modifier']),
|
||||
$this->datetime($data['modified']-$this->tracker->tz_offset_s));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -173,7 +147,8 @@ class addressbook_tracking extends bo_tracking
|
||||
* Get the details of an entry
|
||||
*
|
||||
* @param array $data
|
||||
*
|
||||
* @param string $datetime_format of user to notify, eg. 'Y-m-d H:i'
|
||||
* @param int $tz_offset_s offset in sec to be add to server-time to get the user-time of the user to notify
|
||||
* @return array of details as array with values for keys 'label','value','type'
|
||||
*/
|
||||
function get_details($data)
|
||||
@ -190,7 +165,7 @@ class addressbook_tracking extends bo_tracking
|
||||
case 'created': case 'modified':
|
||||
$details[$name] = array(
|
||||
'label' => $label,
|
||||
'value' => $this->datetime($data[$name]),
|
||||
'value' => $this->datetime($data[$name]-$this->contacts->tz_offset_s),
|
||||
);
|
||||
break;
|
||||
case 'bday':
|
||||
@ -199,14 +174,14 @@ class addressbook_tracking extends bo_tracking
|
||||
list($y,$m,$d) = explode('-',$data[$name]);
|
||||
$details[$name] = array(
|
||||
'label' => $label,
|
||||
'value' => common::dateformatorder($y,$m,$d,true),
|
||||
'value' => $GLOBALS['egw']->common->dateformatorder($y,$m,$d,true),
|
||||
);
|
||||
}
|
||||
break;
|
||||
case 'owner': case 'creator': case 'modifier':
|
||||
$details[$name] = array(
|
||||
'label' => $label,
|
||||
'value' => common::grab_owner_name($data[$name]),
|
||||
'value' => $GLOBALS['egw']->common->grab_owner_name($data[$name]),
|
||||
);
|
||||
break;
|
||||
case 'cat_id':
|
||||
@ -257,4 +232,4 @@ class addressbook_tracking extends bo_tracking
|
||||
}
|
||||
return $details;
|
||||
}
|
||||
}
|
||||
}
|
@ -5,7 +5,7 @@
|
||||
* @link www.egroupware.org
|
||||
* @author Cornelius Weiss <egw@von-und-zu-weiss.de>
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2005-10 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2005-9 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2005/6 by Cornelius Weiss <egw@von-und-zu-weiss.de>
|
||||
* @package addressbook
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
@ -17,7 +17,7 @@
|
||||
*/
|
||||
class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
public $public_functions = array(
|
||||
var $public_functions = array(
|
||||
'search' => True,
|
||||
'edit' => True,
|
||||
'view' => True,
|
||||
@ -25,8 +25,6 @@ class addressbook_ui extends addressbook_bo
|
||||
'photo' => True,
|
||||
'emailpopup'=> True,
|
||||
'migrate2ldap' => True,
|
||||
'admin_set_fileas' => True,
|
||||
'admin_set_all_cleanup' => True,
|
||||
'cat_add' => True,
|
||||
);
|
||||
/**
|
||||
@ -34,21 +32,22 @@ class addressbook_ui extends addressbook_bo
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
protected $private_addressbook = false;
|
||||
protected $org_views;
|
||||
var $private_addressbook = false;
|
||||
var $org_views;
|
||||
|
||||
/**
|
||||
* Addressbook configuration (stored as phpgwapi = general server config)
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $config;
|
||||
|
||||
var $config;
|
||||
/**
|
||||
* Constructor
|
||||
* Name(s) of the tabs in the edit dialog
|
||||
*
|
||||
* @param string $contact_app
|
||||
* @var string
|
||||
*/
|
||||
var $tabs = 'general|cats|home|details|links|distribution_list|custom|custom_private';
|
||||
|
||||
function __construct($contact_app='addressbook')
|
||||
{
|
||||
parent::__construct($contact_app);
|
||||
@ -166,7 +165,7 @@ class addressbook_ui extends addressbook_bo
|
||||
'msg' => $msg ? $msg : $_GET['msg'],
|
||||
);
|
||||
|
||||
$content['nm'] = egw_session::appsession($do_email ? 'email' : 'index','addressbook');
|
||||
$content['nm'] = $GLOBALS['egw']->session->appsession($do_email ? 'email' : 'index','addressbook');
|
||||
if (!is_array($content['nm']))
|
||||
{
|
||||
$content['nm'] = array(
|
||||
@ -208,11 +207,6 @@ class addressbook_ui extends addressbook_bo
|
||||
$content['nm'] = array_merge($content['nm'],$state);
|
||||
}
|
||||
}
|
||||
|
||||
// Search parameter passed in
|
||||
if ($_GET['search']) {
|
||||
$content['nm']['search'] = $_GET['search'];
|
||||
}
|
||||
if (isset($typeselection)) $content['nm']['col_filter']['tid'] = $typeselection;
|
||||
|
||||
if ($this->lists_available())
|
||||
@ -268,9 +262,10 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
// 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'];
|
||||
|
||||
$sel_options['action'] += array(
|
||||
'merge' => lang('Merge into first or account, deletes all other!'),
|
||||
'cat_add' => lang('Add or delete Categories'), // add a categirie to multible addresses
|
||||
'cat_add' => lang('Add or delete Categoies'), // add a categirie to multible addresses
|
||||
'infolog_add' => lang('Add a new Infolog'),
|
||||
);
|
||||
if ($GLOBALS['egw_info']['user']['apps']['infolog'])
|
||||
@ -305,18 +300,21 @@ class addressbook_ui extends addressbook_bo
|
||||
if (!array_key_exists('importexport',$GLOBALS['egw_info']['user']['apps'])) unset($sel_options['action']['export']);
|
||||
|
||||
// dont show tid-selection if we have only one content_type
|
||||
// be a bit more sophisticated asbout it
|
||||
$content['nm']['header_right'] = 'addressbook.index.right_add';
|
||||
$availabletypes = array_keys($this->content_types);
|
||||
if (!isset($content['nm']['col_filter']['tid'])) $content['nm']['col_filter']['tid'] = $availabletypes[0];
|
||||
if (count($this->content_types) > 1)
|
||||
if (count($this->content_types) <= 1)
|
||||
{
|
||||
$content['nm']['header_right'] = 'addressbook.index.right_addplus';
|
||||
$content['nm']['col_filter']['tid'] = 'n';
|
||||
$content['nm']['header_right'] = 'addressbook.index.right_add';
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!isset($content['nm']['col_filter']['tid'])) $content['nm']['col_filter']['tid'] = 'n';
|
||||
$content['nm']['header_right'] = 'addressbook.index.right';
|
||||
foreach($this->content_types as $tid => $data)
|
||||
{
|
||||
$sel_options['col_filter[tid]'][$tid] = $data['name'];
|
||||
}
|
||||
}
|
||||
|
||||
// get the availible org-views plus the label of the contacts view of one org
|
||||
$sel_options['org_view'] = $this->org_views;
|
||||
if (isset($org_view)) $content['nm']['org_view'] = $org_view;
|
||||
@ -401,7 +399,7 @@ class addressbook_ui extends addressbook_bo
|
||||
*/
|
||||
function infolog_org_view($org)
|
||||
{
|
||||
$query = egw_session::appsession('index','addressbook');
|
||||
$query = $GLOBALS['egw']->session->appsession('index','addressbook');
|
||||
$query['num_rows'] = -1; // all
|
||||
$query['org_view'] = $org;
|
||||
$query['searchletter'] = '';
|
||||
@ -422,7 +420,7 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
$org = ''; // use infolog default of link-title
|
||||
}
|
||||
egw::redirect_link('/index.php',array(
|
||||
$GLOBALS['egw']->redirect_link('/index.php',array(
|
||||
'menuaction' => 'infolog.infolog_ui.index',
|
||||
'action' => 'addressbook',
|
||||
'action_id' => implode(',',$checked),
|
||||
@ -432,7 +430,7 @@ class addressbook_ui extends addressbook_bo
|
||||
|
||||
function ajax_add_whole_list($list, $email_type = 'email')
|
||||
{
|
||||
$query = egw_session::appsession('email','addressbook');
|
||||
$query = $GLOBALS['egw']->session->appsession('email','addressbook');
|
||||
$query['filter2'] = (int)$list;
|
||||
$this->action($email_type,array(),true,$success,$failed,$action_msg,$query,$msg);
|
||||
|
||||
@ -478,7 +476,7 @@ class addressbook_ui extends addressbook_bo
|
||||
if ($use_all || in_array($action,array('remove_from_list','delete_list')))
|
||||
{
|
||||
// get the whole selection
|
||||
$query = is_array($session_name) ? $session_name : egw_session::appsession($session_name,'addressbook');
|
||||
$query = is_array($session_name) ? $session_name : $GLOBALS['egw']->session->appsession($session_name,'addressbook');
|
||||
|
||||
if ($use_all)
|
||||
{
|
||||
@ -498,7 +496,7 @@ class addressbook_ui extends addressbook_bo
|
||||
return $this->infolog_org_view($id); // uses the org-name, instead of 'selected contacts'
|
||||
}
|
||||
unset($checked[$n]);
|
||||
$query = egw_session::appsession($session_name,'addressbook');
|
||||
$query = $GLOBALS['egw']->session->appsession($session_name,'addressbook');
|
||||
$query['num_rows'] = -1; // all
|
||||
$query['org_view'] = $id;
|
||||
unset($query['filter2']);
|
||||
@ -550,7 +548,7 @@ class addressbook_ui extends addressbook_bo
|
||||
break;
|
||||
|
||||
case 'infolog':
|
||||
egw::redirect_link('/index.php',array(
|
||||
$GLOBALS['egw']->redirect_link('/index.php',array(
|
||||
'menuaction' => 'infolog.infolog_ui.index',
|
||||
'action' => 'addressbook',
|
||||
'action_id' => implode(',',$checked),
|
||||
@ -578,7 +576,7 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
$msg = lang('Distribution list deleted');
|
||||
unset($query['filter2']);
|
||||
egw_session::appsession($session_name,'addressbook',$query);
|
||||
$GLOBALS['egw']->session->appsession($session_name,'addressbook',$query);
|
||||
}
|
||||
return false;
|
||||
|
||||
@ -604,11 +602,11 @@ class addressbook_ui extends addressbook_bo
|
||||
$cat_ids = explode(",",$contact['cat_id']); //existing categiries
|
||||
if (!is_array($cat_ids_new) && $cat_ids_new) $cat_ids_new = explode(",",$cat_ids_new);
|
||||
//categarie add
|
||||
if ((!($cat_ids_new = egw_session::appsession('cat_add','addressbook')) && !($cat_ids_new = egw_session::appsession('cat_delete','addressbook'))))
|
||||
if ((!($cat_ids_new = $GLOBALS['egw']->session->appsession('cat_add','addressbook')) && !($cat_ids_new = $GLOBALS['egw']->session->appsession('cat_delete','addressbook'))))
|
||||
{
|
||||
$action_msg = lang('no categories selected');
|
||||
}
|
||||
if (egw_session::appsession('cat_add','addressbook'))
|
||||
if ($GLOBALS['egw']->session->appsession('cat_add','addressbook'))
|
||||
{
|
||||
if (is_array($cat_ids_new) && ($ids_to_add = array_diff($cat_ids_new,$cat_ids)))
|
||||
{
|
||||
@ -624,7 +622,7 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
}
|
||||
//categories delete
|
||||
if (egw_session::appsession('cat_delete','addressbook'))
|
||||
if ($GLOBALS['egw']->session->appsession('cat_delete','addressbook'))
|
||||
{
|
||||
if (is_array($cat_ids_new) && ($ids_to_delete = array_diff($cat_ids,$cat_ids_new)) or ($cat_ids = $cat_ids_new))
|
||||
{
|
||||
@ -641,8 +639,8 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
}
|
||||
$checked = array(); // to not start the single actions
|
||||
egw_session::appsession('cat_add','addressbook',''); //delete stored categories to add
|
||||
egw_session::appsession('cat_delete','addressbook',''); //delete stored categories to delete
|
||||
$GLOBALS['egw']->session->appsession('cat_add','addressbook',''); //delete stored categories to add
|
||||
$GLOBALS['egw']->session->appsession('cat_delete','addressbook',''); //delete stored categories to delete
|
||||
break;
|
||||
}
|
||||
foreach($checked as $id)
|
||||
@ -660,7 +658,7 @@ class addressbook_ui extends addressbook_bo
|
||||
// delete single account --> redirect to admin
|
||||
elseif (count($checked) == 1 && $contact['account_id'])
|
||||
{
|
||||
egw::redirect_link('/index.php',array(
|
||||
$GLOBALS['egw']->redirect_link('/index.php',array(
|
||||
'menuaction' => 'admin.uiaccounts.delete_user',
|
||||
'account_id' => $contact['account_id'],
|
||||
));
|
||||
@ -776,11 +774,11 @@ class addressbook_ui extends addressbook_bo
|
||||
|
||||
if (!$id_only && !$query['csv_export']) // do NOT store state for csv_export or querying id's (no regular view)
|
||||
{
|
||||
$old_state = egw_session::appsession($what,'addressbook',$query);
|
||||
$old_state = $GLOBALS['egw']->session->appsession($what,'addressbook',$query);
|
||||
}
|
||||
else
|
||||
{
|
||||
$old_state = egw_session::appsession($what,'addressbook');
|
||||
$old_state = $GLOBALS['egw']->session->appsession($what,'addressbook');
|
||||
}
|
||||
if (!isset($this->org_views[(string) $query['org_view']])) // we dont have an org view, unset the according col_filters
|
||||
{
|
||||
@ -798,7 +796,7 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
$query['advanced_search'] = $old_state['advanced_search'];
|
||||
}
|
||||
if ($do_email && etemplate::$loop && is_object($GLOBALS['egw']->js))
|
||||
if ($do_email && $GLOBALS['egw_info']['etemplate']['loop'] && is_object($GLOBALS['egw']->js))
|
||||
{ // remove previous addEmail() calls, otherwise they will be run again
|
||||
$GLOBALS['egw']->js->body['onLoad'] = preg_replace('/addEmail\([^)]+\);/','',$GLOBALS['egw']->js->body['onLoad']);
|
||||
}
|
||||
@ -899,7 +897,7 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
if ($query['org_view']) // view the contacts of one organisation only
|
||||
{
|
||||
if (strpos($query['org_view'],'*AND*') !== false) $query['org_view'] = str_replace('*AND*','&',$query['org_view']);
|
||||
if (strpos($query['org_view'],'*AND*')!== false) $query['org_view'] = str_replace('*AND*','&',$query['org_view']);
|
||||
foreach(explode('|||',$query['org_view']) as $part)
|
||||
{
|
||||
list($name,$value) = explode(':',$part,2);
|
||||
@ -916,7 +914,7 @@ class addressbook_ui extends addressbook_bo
|
||||
default:
|
||||
if ($query['order'][0] == '#') // we order by a custom field
|
||||
{
|
||||
$order = "{$query['order']} $sort,org_name $sort,n_family $sort,n_given $sort";
|
||||
$order = "$query[order]<>'' DESC,$query[order] $sort,org_name $sort,n_family $sort,n_given $sort";
|
||||
break;
|
||||
}
|
||||
$query['order'] = 'n_family';
|
||||
@ -951,7 +949,6 @@ class addressbook_ui extends addressbook_bo
|
||||
$wildcard = $query['advanced_search']['meth_select'];
|
||||
unset($query['advanced_search']['meth_select']);
|
||||
}
|
||||
|
||||
$rows = parent::search($query['advanced_search'] ? $query['advanced_search'] : $query['search'],$id_only,
|
||||
$order,'',$wildcard,false,$op,array((int)$query['start'],(int) $query['num_rows']),$query['col_filter']);
|
||||
|
||||
@ -963,7 +960,7 @@ class addressbook_ui extends addressbook_bo
|
||||
if (!$id_only && $rows)
|
||||
{
|
||||
$show_custom_fields = (!$columselection || in_array('customfields',$columselection) || $query['csv_export']) && $this->customfields;
|
||||
$show_calendar = !$columselection || in_array('calendar_calendar',$columselection);
|
||||
$show_calendar = !$columselection || in_array('calendar',$columselection);
|
||||
$show_distributionlist = !$columselection || in_array('distrib_lists',$columselection) || count($available_distib_lists);
|
||||
if ($show_calendar || $show_custom_fields || $show_distributionlist)
|
||||
{
|
||||
@ -979,7 +976,7 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
$customfields = $this->read_customfields($ids,$selected_cfs);
|
||||
}
|
||||
if ($show_calendar && !empty($ids)) $calendar = $this->read_calendar($ids);
|
||||
if ($show_calendar) $calendar = $this->read_calendar($ids);
|
||||
// distributionlist memership for the entrys
|
||||
//_debug_array($this->get_lists(EGW_ACL_EDIT));
|
||||
if ($show_distributionlist && $available_distib_lists)
|
||||
@ -1002,7 +999,7 @@ class addressbook_ui extends addressbook_bo
|
||||
$order = $query['order'];
|
||||
|
||||
$readonlys = array();
|
||||
$photos = $homeaddress = $roles = $notes = false;
|
||||
$photos = $homeaddress = $roles = false;
|
||||
foreach($rows as $n => $val)
|
||||
{
|
||||
$row =& $rows[$n];
|
||||
@ -1056,12 +1053,11 @@ class addressbook_ui extends addressbook_bo
|
||||
|
||||
if ($row['photo']) $photos = true;
|
||||
if ($row['role']) $roles = true;
|
||||
if ($row['note']) $notes = true;
|
||||
if (isset($customfields[$row['id']]))
|
||||
{
|
||||
foreach($this->customfields as $name => $data)
|
||||
{
|
||||
$row['#'.$name] = $customfields[$row['id']]['#'.$name];
|
||||
$row['#'.$name] = $customfields[$row['id']][$name];
|
||||
}
|
||||
}
|
||||
if (isset($distributionlist[$row['id']]))
|
||||
@ -1089,12 +1085,6 @@ class addressbook_ui extends addressbook_bo
|
||||
// hide region for address format 'postcode_city'
|
||||
if (($row['addr_format'] = $this->addr_format_by_country($row['adr_one_countryname']))=='postcode_city') unset($row['adr_one_region']);
|
||||
if (($row['addr_format2'] = $this->addr_format_by_country($row['adr_two_countryname']))=='postcode_city') unset($row['adr_two_region']);
|
||||
|
||||
// respect category permissions
|
||||
if(!empty($row['cat_id']))
|
||||
{
|
||||
$row['cat_id'] = $this->categories->check_list(EGW_ACL_READ,$row['cat_id']);
|
||||
}
|
||||
}
|
||||
$readonlys['no_distrib_lists'] = (bool)$show_distributionlist;
|
||||
|
||||
@ -1106,8 +1096,6 @@ class addressbook_ui extends addressbook_bo
|
||||
if (!$homeaddress) $rows['no_home'] = true;
|
||||
// disable roles column
|
||||
if (!$roles) $rows['no_role'] = true;
|
||||
// disable note column
|
||||
if (!$notes) $rows['no_note'] = true;
|
||||
}
|
||||
// disable customfields column, if we have no customefield(s)
|
||||
if (!$this->customfields/* || !$this->prefs['no_auto_hide'] && !$customfields*/) $rows['no_customfields'] = true;
|
||||
@ -1126,7 +1114,7 @@ class addressbook_ui extends addressbook_bo
|
||||
$GLOBALS['egw_info']['flags']['app_header'] .= ' '.($query['filter'] == '0' ? lang('accounts') :
|
||||
($GLOBALS['egw']->accounts->get_type($query['filter']) == 'g' ?
|
||||
lang('Group %1',$GLOBALS['egw']->accounts->id2name($query['filter'])) :
|
||||
common::grab_owner_name((int)$query['filter']).
|
||||
$GLOBALS['egw']->common->grab_owner_name((int)$query['filter']).
|
||||
(substr($query['filter'],-1) == 'p' ? ' ('.lang('private').')' : '')));
|
||||
}
|
||||
if ($query['org_view'])
|
||||
@ -1182,7 +1170,7 @@ class addressbook_ui extends addressbook_bo
|
||||
else
|
||||
{
|
||||
$icon = 'personal';
|
||||
$label = $owner == $this->user ? lang('personal') : common::grab_owner_name($owner);
|
||||
$label = $owner == $this->user ? lang('personal') : $GLOBALS['egw']->common->grab_owner_name($owner);
|
||||
}
|
||||
// show tid icon for tid!='n' AND only if one is defined
|
||||
if ($tid != 'n' && $this->content_types[$tid]['options']['icon'])
|
||||
@ -1192,12 +1180,54 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the available addressbooks of the user
|
||||
*
|
||||
* @param int $required=EGW_ACL_READ required rights on the addressbook
|
||||
* @param string $extra_label first label if given (already translated)
|
||||
* @return array with owner => label pairs
|
||||
*/
|
||||
function get_addressbooks($required=EGW_ACL_READ,$extra_label=null)
|
||||
{
|
||||
//echo "uicontacts::get_addressbooks($required,$include_all) grants="; _debug_array($this->grants);
|
||||
|
||||
$addressbooks = array();
|
||||
if ($extra_label) $addressbooks[''] = $extra_label;
|
||||
$addressbooks[$this->user] = lang('Personal');
|
||||
// add all group addressbooks the user has the necessary rights too
|
||||
foreach($this->grants as $uid => $rights)
|
||||
{
|
||||
if (($rights & $required) && $GLOBALS['egw']->accounts->get_type($uid) == 'g')
|
||||
{
|
||||
$addressbooks[$uid] = lang('Group %1',$GLOBALS['egw']->accounts->id2name($uid));
|
||||
}
|
||||
}
|
||||
if (($this->grants[0] & $required) && !$GLOBALS['egw_info']['user']['preferences']['addressbook']['hide_accounts'])
|
||||
{
|
||||
$addressbooks[0] = lang('Accounts');
|
||||
}
|
||||
// add all other user addressbooks the user has the necessary rights too
|
||||
foreach($this->grants as $uid => $rights)
|
||||
{
|
||||
if ($uid != $this->user && ($rights & $required) && $GLOBALS['egw']->accounts->get_type($uid) == 'u')
|
||||
{
|
||||
$addressbooks[$uid] = $GLOBALS['egw']->common->grab_owner_name($uid);
|
||||
}
|
||||
}
|
||||
if ($this->private_addressbook)
|
||||
{
|
||||
$addressbooks[$this->user.'p'] = lang('Private');
|
||||
}
|
||||
//_debug_array($addressbooks);
|
||||
return $addressbooks;
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit a contact
|
||||
*
|
||||
* @param array $content=null submitted content
|
||||
* @param int $_GET['contact_id'] contact_id mainly for popup use
|
||||
* @param bool $_GET['makecp'] true if you want to copy the contact given by $_GET['contact_id']
|
||||
* @param int $_GET['contact_id'] contact_id manly for popup use
|
||||
* @param bool $_GET['makecp'] ture if you want do copy the contact given by $_GET['contact_id']
|
||||
*/
|
||||
function edit($content=null)
|
||||
{
|
||||
@ -1224,13 +1254,13 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
$links = $content['link_to']['to_id'];
|
||||
}
|
||||
$fullname = $old_fullname = parent::fullname($content);
|
||||
if ($content['id'] && $content['org_name'] && $content['change_org'])
|
||||
{
|
||||
$old_org_entry = $this->read($content['id']);
|
||||
$old_fullname = ($old_org_entry['n_fn'] ? $old_org_entry['n_fn'] : parent::fullname($old_org_entry));
|
||||
}
|
||||
if ( $content['n_fn'] != $fullname || $fullname != $old_fullname)
|
||||
if (isset($content['n_family']) && isset($content['n_given'])
|
||||
&& $content['n_family'] != $old_org_entry['n_family']
|
||||
&& $content['n_given'] != $old_org_entry['n_given'])
|
||||
{
|
||||
unset($content['n_fn']);
|
||||
}
|
||||
@ -1256,7 +1286,7 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
$content['msg'] = lang('Error: the entry has been updated since you opened it for editing!').'<br />'.
|
||||
lang('Copy your changes to the clipboard, %1reload the entry%2 and merge them.','<a href="'.
|
||||
htmlspecialchars(egw::link('/index.php',array(
|
||||
htmlspecialchars($GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'addressbook.addressbook_ui.edit',
|
||||
'contact_id' => $content['id'],
|
||||
))).'">','</a>');
|
||||
@ -1278,14 +1308,14 @@ class addressbook_ui extends addressbook_bo
|
||||
echo "<html><body><script>var referer = opener.location;opener.location.href = referer+(referer.search?'&':'?')+'msg=".
|
||||
addslashes(urlencode($content['msg']))."'; window.close();</script></body></html>\n";
|
||||
/*
|
||||
$link = egw::link('/index.php',array(
|
||||
$link = $GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction' => 'addressbook.addressbook_ui.view',
|
||||
'contact_id' => $content['id'],
|
||||
));
|
||||
echo "<html><body><script>opener.location.href = '$link&msg=".
|
||||
addslashes(urlencode($content['msg']))."'; window.close();</script></body></html>\n";
|
||||
*/
|
||||
common::egw_exit();
|
||||
$GLOBALS['egw']->common->egw_exit();
|
||||
}
|
||||
$content['link_to']['to_id'] = $content['id'];
|
||||
$GLOBALS['egw_info']['flags']['java_script'] .= "<script language=\"JavaScript\">
|
||||
@ -1298,7 +1328,7 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
echo "<html><body><script>var referer = opener.location; opener.location.href = referer+(referer.search?'&':'?')+'msg=".
|
||||
addslashes(urlencode(lang('Contact deleted')))."';window.close();</script></body></html>\n";
|
||||
common::egw_exit();
|
||||
$GLOBALS['egw']->common->egw_exit();
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -1320,7 +1350,7 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
else // not found
|
||||
{
|
||||
$state = egw_session::appsession('index','addressbook');
|
||||
$state = $GLOBALS['egw']->session->appsession('index','addressbook');
|
||||
// check if we create the new contact in an existing org
|
||||
if ($_GET['org'])
|
||||
{
|
||||
@ -1369,17 +1399,15 @@ class addressbook_ui extends addressbook_bo
|
||||
$content['created'] = $this->now_su;
|
||||
unset($state);
|
||||
}
|
||||
if ($_GET['msg']) $content['msg'] = strip_tags($_GET['msg']); // dont allow HTML!
|
||||
|
||||
if($content && $_GET['makecp']) // copy the contact
|
||||
{
|
||||
$content['link_to']['to_id'] = 0;
|
||||
egw_link::link('addressbook',$content['link_to']['to_id'],'addressbook',$content['id'],
|
||||
lang('Copied by %1, from record #%2.',common::display_fullname('',
|
||||
lang('Copied by %1, from record #%2.',$GLOBALS['egw']->common->display_fullname('',
|
||||
$GLOBALS['egw_info']['user']['account_firstname'],$GLOBALS['egw_info']['user']['account_lastname']),
|
||||
$content['id']));
|
||||
// create a new contact with the content of the old
|
||||
foreach(array('id','modified','modifier','account_id','uid','cat_id','etag') as $key)
|
||||
foreach(array('id','modified','modifier','account_id','uid','etag') as $key)
|
||||
{
|
||||
unset($content[$key]);
|
||||
}
|
||||
@ -1428,7 +1456,7 @@ class addressbook_ui extends addressbook_bo
|
||||
if (!isset($sel_options['owner'][(int)$content['owner']]))
|
||||
{
|
||||
$sel_options['owner'][(int)$content['owner']] = !$content['owner'] ? lang('Accounts') :
|
||||
common::grab_owner_name($content['owner']);
|
||||
$GLOBALS['egw']->common->grab_owner_name($content['owner']);
|
||||
}
|
||||
$readonlys['owner'] = !$content['owner'] || // dont allow to move accounts, as this mean deleting the user incl. all content he owns
|
||||
$content['id'] && !$this->check_perms(EGW_ACL_DELETE,$content); // you need delete rights to move an existing contact into an other addressbook
|
||||
@ -1439,11 +1467,10 @@ class addressbook_ui extends addressbook_bo
|
||||
$readonlys[$field] = true;
|
||||
}
|
||||
// disable not needed tabs
|
||||
$readonlys['tabs']['cats'] = !($content['cat_tab'] = $this->config['cat_tab']);
|
||||
$readonlys['tabs']['custom'] = !$this->customfields;
|
||||
$readonlys['tabs']['custom_private'] = !$this->customfields || !$this->config['private_cf_tab'];
|
||||
$readonlys['tabs']['distribution_list'] = !$content['distrib_lists'];#false;
|
||||
$readonlys['tabs']['history'] = $this->account_repository == 'ldap' && $content['account_id'];
|
||||
$readonlys[$this->tabs]['cats'] = !($content['cat_tab'] = $this->config['cat_tab']);
|
||||
$readonlys[$this->tabs]['custom'] = !$this->customfields;
|
||||
$readonlys[$this->tabs]['custom_private'] = !$this->customfields || !$this->config['private_cf_tab'];
|
||||
$readonlys[$this->tabs]['distribution_list'] = !$content['distrib_lists'];#false;
|
||||
$readonlys['button[delete]'] = !$content['id'];
|
||||
if ($this->config['private_cf_tab']) $content['no_private_cfs'] = 0;
|
||||
|
||||
@ -1472,10 +1499,6 @@ class addressbook_ui extends addressbook_bo
|
||||
'to_app' => 'addressbook',
|
||||
'to_id' => $content['link_to']['to_id'],
|
||||
);
|
||||
|
||||
// Enable history
|
||||
$this->setup_history($content, $sel_options);
|
||||
|
||||
$content['photo'] = $this->photo_src($content['id'],$content['jpegphoto'],'photo');
|
||||
|
||||
if ($content['private']) $content['owner'] .= 'p';
|
||||
@ -1604,13 +1627,13 @@ class addressbook_ui extends addressbook_bo
|
||||
switch ($button)
|
||||
{
|
||||
case 'vcard':
|
||||
egw::redirect_link('/index.php','menuaction=addressbook.uivcard.out&ab_id=' .$content['id']);
|
||||
$GLOBALS['egw']->redirect_link('/index.php','menuaction=addressbook.uivcard.out&ab_id=' .$content['id']);
|
||||
|
||||
case 'cancel':
|
||||
egw::redirect_link('/index.php','menuaction=addressbook.addressbook_ui.index');
|
||||
$GLOBALS['egw']->redirect_link('/index.php','menuaction=addressbook.addressbook_ui.index');
|
||||
|
||||
case 'delete':
|
||||
egw::redirect_link('/index.php',array(
|
||||
$GLOBALS['egw']->redirect_link('/index.php',array(
|
||||
'menuaction' => 'addressbook.addressbook_ui.index',
|
||||
'msg' => $this->delete($content) ? lang('Contact deleted') : lang('Error deleting the contact !!!'),
|
||||
));
|
||||
@ -1620,7 +1643,7 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
if(!$_GET['contact_id'] || !is_array($content = $this->read($_GET['contact_id'])))
|
||||
{
|
||||
egw::redirect_link('/index.php',array(
|
||||
$GLOBALS['egw']->redirect_link('/index.php',array(
|
||||
'menuaction' => 'addressbook.addressbook_ui.index',
|
||||
'msg' => $content,
|
||||
));
|
||||
@ -1635,13 +1658,6 @@ class addressbook_ui extends addressbook_bo
|
||||
$content[$key.'2'] = $content[$key];
|
||||
}
|
||||
}
|
||||
|
||||
// respect category permissions
|
||||
if(!empty($content['cat_id']))
|
||||
{
|
||||
$content['cat_id'] = $this->categories->check_list(EGW_ACL_READ,$content['cat_id']);
|
||||
}
|
||||
|
||||
$content['view'] = true;
|
||||
$content['link_to'] = array(
|
||||
'to_app' => 'addressbook',
|
||||
@ -1652,8 +1668,8 @@ class addressbook_ui extends addressbook_bo
|
||||
$readonlys['button[delete]'] = !$content['owner'] || !$this->check_perms(EGW_ACL_DELETE,$content);
|
||||
$readonlys['button[edit]'] = !$this->check_perms(EGW_ACL_EDIT,$content);
|
||||
$content['disable_change_org'] = true;
|
||||
// ToDo: fix vCard export
|
||||
$readonlys['button[vcard]'] = true;
|
||||
// ToDo: fix vCard export
|
||||
$readonlys['button[vcard]'] = true;
|
||||
|
||||
// how to display addresses
|
||||
$content['addr_format'] = $this->addr_format_by_country($content['adr_one_countryname']);
|
||||
@ -1686,19 +1702,15 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
$content['owner'] .= 'p';
|
||||
}
|
||||
|
||||
// Enable history
|
||||
$this->setup_history($content, $sel_options);
|
||||
|
||||
// disable not needed tabs
|
||||
$readonlys['tabs']['cats'] = !($content['cat_tab'] = $this->config['cat_tab']);
|
||||
$readonlys['tabs']['custom'] = !$this->customfields;
|
||||
$readonlys['tabs']['custom_private'] = !$this->customfields || !$this->config['private_cf_tab'];
|
||||
$readonlys['tabs']['distribution_list'] = !$content['distrib_lists'];#false;
|
||||
$readonlys[$this->tabs]['cats'] = !($content['cat_tab'] = $this->config['cat_tab']);
|
||||
$readonlys[$this->tabs]['custom'] = !$this->customfields;
|
||||
$readonlys[$this->tabs]['custom_private'] = !$this->customfields || !$this->config['private_cf_tab'];
|
||||
$readonlys[$this->tabs]['distribution_list'] = !$content['distrib_lists'];#false;
|
||||
if ($this->config['private_cf_tab']) $content['no_private_cfs'] = 0;
|
||||
|
||||
// last and next calendar date
|
||||
if (!empty($content['id'])) list(,$dates) = each($this->read_calendar(array($content['id']),false));
|
||||
list(,$dates) = each($this->read_calendar(array($content['id']),false));
|
||||
if(is_array($dates)) $content += $dates;
|
||||
|
||||
// set id for automatic linking via quick add
|
||||
@ -1750,7 +1762,7 @@ class addressbook_ui extends addressbook_bo
|
||||
if(!empty($_content)) {
|
||||
$response = new xajaxResponse();
|
||||
|
||||
$query = egw_session::appsession($do_email ? 'email' : 'index','addressbook');
|
||||
$query = $GLOBALS['egw']->session->appsession($do_email ? 'email' : 'index','addressbook');
|
||||
|
||||
$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)
|
||||
@ -1760,10 +1772,10 @@ class addressbook_ui extends addressbook_bo
|
||||
$query['start'] = 0;
|
||||
$query['search'] = '';
|
||||
// store the index state in the session
|
||||
egw_session::appsession($do_email ? 'email' : 'index','addressbook',$query);
|
||||
$GLOBALS['egw']->session->appsession($do_email ? 'email' : 'index','addressbook',$query);
|
||||
|
||||
// store the advanced search in the session to call it again
|
||||
egw_session::appsession('advanced_search','addressbook',$query['advanced_search']);
|
||||
$GLOBALS['egw']->session->appsession('advanced_search','addressbook',$query['advanced_search']);
|
||||
|
||||
$response->addScript("
|
||||
var link = opener.location.href;
|
||||
@ -1782,7 +1794,7 @@ class addressbook_ui extends addressbook_bo
|
||||
|
||||
// initialize etemplate arrays
|
||||
$sel_options = $readonlys = $preserv = array();
|
||||
$content = egw_session::appsession('advanced_search','addressbook');
|
||||
$content = $GLOBALS['egw']->session->appsession('advanced_search','addressbook');
|
||||
|
||||
for($i = -23; $i<=23; $i++) $tz[$i] = ($i > 0 ? '+' : '').$i;
|
||||
$sel_options['tz'] = $tz + array('' => lang('doesn\'t matter'));
|
||||
@ -1817,11 +1829,11 @@ class addressbook_ui extends addressbook_bo
|
||||
// this setting will enable (and show) the search and cancel buttons, setting this to true will hide the before mentioned buttons completely
|
||||
$readonlys['button'] = false;
|
||||
// disable not needed tabs
|
||||
$readonlys['tabs']['cats'] = !($content['cat_tab'] = $this->config['cat_tab']);
|
||||
$readonlys['tabs']['custom'] = !$this->customfields;
|
||||
$readonlys['tabs']['custom_private'] = !$this->customfields || !$this->config['private_cf_tab'];
|
||||
$readonlys['tabs']['links'] = true;
|
||||
$readonlys['tabs']['distribution_list'] = true;
|
||||
$readonlys[$this->tabs]['cats'] = !($content['cat_tab'] = $this->config['cat_tab']);
|
||||
$readonlys[$this->tabs]['custom'] = !$this->customfields;
|
||||
$readonlys[$this->tabs]['custom_private'] = !$this->customfields || !$this->config['private_cf_tab'];
|
||||
$readonlys[$this->tabs]['links'] = true;
|
||||
$readonlys[$this->tabs]['distribution_list'] = true;
|
||||
// setting hidebuttons for content will hide the 'normal' addressbook edit dialog buttons
|
||||
$content['hidebuttons'] = true;
|
||||
$content['no_tid'] = true;
|
||||
@ -1846,7 +1858,7 @@ class addressbook_ui extends addressbook_bo
|
||||
}
|
||||
if (!($contact = $this->read($contact_id)) || !$contact['jpegphoto'])
|
||||
{
|
||||
egw::redirect(common::image('addressbook','photo'));
|
||||
$GLOBALS['egw']->redirect($GLOBALS['egw']->common->image('addressbook','photo'));
|
||||
}
|
||||
if (!ob_get_contents())
|
||||
{
|
||||
@ -1955,7 +1967,7 @@ class addressbook_ui extends addressbook_bo
|
||||
var use_all = document.getElementById("exec[use_all]");
|
||||
var action = document.getElementById("exec[action]");
|
||||
egw_openWindowCentered(
|
||||
"'. egw::link('/index.php','menuaction=importexport.uiexport.export_dialog&appname=addressbook').
|
||||
"'. $GLOBALS['egw']->link('/index.php','menuaction=importexport.uiexport.export_dialog&appname=addressbook').
|
||||
'&selection="+( use_all.checked ? "use_all" : get_selected(form,"[rows][checked][]")),
|
||||
"Export",400,400);
|
||||
action.value="";
|
||||
@ -1968,7 +1980,7 @@ class addressbook_ui extends addressbook_bo
|
||||
var name = window.prompt("'.lang('Name for the distribution list').'");
|
||||
if (name)
|
||||
{
|
||||
document.location.href = "'.egw::link('/index.php',array(
|
||||
document.location.href = "'.$GLOBALS['egw']->link('/index.php',array(
|
||||
'menuaction'=>$_GET['menuaction'],//'addressbook.addressbook_ui.index',
|
||||
'add_list'=>'',
|
||||
)).'"+encodeURIComponent(name)+"&owner="+owner;
|
||||
@ -1984,12 +1996,6 @@ class addressbook_ui extends addressbook_bo
|
||||
} else if (selbox.value == "cat_add") {
|
||||
win=window.open("'.egw::link('/etemplate/process_exec.php','menuaction=addressbook.addressbook_ui.cat_add').'","_blank","width=300,height=400,left=100,top=200");
|
||||
win.focus();
|
||||
} else if (selbox.value == "remove_from_list") {
|
||||
if (confirm("'.lang('Remove selected contacts from distribution list').'")) selbox.form.submit();
|
||||
} else if (selbox.value == "delete_list") {
|
||||
if (confirm("'.lang('Delete selected distribution list!').'")) selbox.form.submit();
|
||||
} else if (selbox.value == "delete") {
|
||||
if (confirm("'.lang('Delete').'")) selbox.form.submit();
|
||||
} else {
|
||||
selbox.form.submit();
|
||||
}
|
||||
@ -1999,14 +2005,10 @@ class addressbook_ui extends addressbook_bo
|
||||
</script>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Migrate contacts to or from LDAP (called by Admin >> Addressbook >> Site configuration (Admin only)
|
||||
*
|
||||
*/
|
||||
function migrate2ldap()
|
||||
{
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Addressbook').' - '.lang('Migration to LDAP');
|
||||
common::egw_header();
|
||||
$GLOBALS['egw']->common->egw_header();
|
||||
parse_navbar();
|
||||
|
||||
if (!$this->is_admin())
|
||||
@ -2018,57 +2020,7 @@ class addressbook_ui extends addressbook_bo
|
||||
parent::migrate2ldap($_GET['type']);
|
||||
echo '<p style="margin-top: 20px;"><b>'.lang('Migration finished')."</b></p>\n";
|
||||
}
|
||||
common::egw_footer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set n_fileas (and n_fn) in contacts of all users (called by Admin >> Addressbook >> Site configuration (Admin only)
|
||||
*
|
||||
* If $_GET[all] all fileas fields will be set, if !$_GET[all] only empty ones
|
||||
*
|
||||
*/
|
||||
function admin_set_fileas()
|
||||
{
|
||||
translation::add_app('admin');
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Addressbook').' - '.lang('Contact maintenance');
|
||||
common::egw_header();
|
||||
parse_navbar();
|
||||
|
||||
// check if user has admin rights AND if a valid fileas type is given (Security)
|
||||
if (!$this->is_admin() || $_GET['type'] != '' && !in_array($_GET['type'],$this->fileas_types))
|
||||
{
|
||||
echo '<h1>'.lang('Permission denied !!!')."</h1>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$updated = parent::set_all_fileas($_GET['type'],(boolean)$_GET['all'],$errors,true); // true = ignore acl
|
||||
echo '<p style="margin-top: 20px;"><b>'.lang('%1 contacts updated (%2 errors).',$updated,$errors)."</b></p>\n";
|
||||
}
|
||||
common::egw_footer();
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleanup all contacts of all users (called by Admin >> Addressbook >> Site configuration (Admin only)
|
||||
*
|
||||
*/
|
||||
function admin_set_all_cleanup()
|
||||
{
|
||||
translation::add_app('admin');
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Addressbook').' - '.lang('Contact maintenance');
|
||||
common::egw_header();
|
||||
parse_navbar();
|
||||
|
||||
// check if user has admin rights (Security)
|
||||
if (!$this->is_admin())
|
||||
{
|
||||
echo '<h1>'.lang('Permission denied !!!')."</h1>\n";
|
||||
}
|
||||
else
|
||||
{
|
||||
$updated = parent::set_all_cleanup($errors,true); // true = ignore acl
|
||||
echo '<p style="margin-top: 20px;"><b>'.lang('%1 contacts updated (%2 errors).',$updated,$errors)."</b></p>\n";
|
||||
}
|
||||
common::egw_footer();
|
||||
$GLOBALS['egw']->common->egw_footer();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2107,7 +2059,7 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
if (!$this->prefs['document_dir']) return array();
|
||||
|
||||
if (!is_array($actions = egw_session::appsession('document_actions','addressbook')))
|
||||
if (!is_array($actions = $GLOBALS['egw']->session->appsession('document_actions','addressbook')))
|
||||
{
|
||||
$actions = array();
|
||||
if (($files = egw_vfs::find($this->prefs['document_dir'],array('need_mime'=>true),true)))
|
||||
@ -2115,12 +2067,16 @@ class addressbook_ui extends addressbook_bo
|
||||
foreach($files as $file)
|
||||
{
|
||||
// return only the mime-types we support
|
||||
if (!addressbook_merge::is_implemented($file['mime'],substr($file['name'],-4))) continue;
|
||||
if (!($file['mime'] == 'application/rtf' ||
|
||||
$file['mime'] == 'application/msword' && !strcasecmp(substr($file['name'],-4),'.rtf') ||
|
||||
substr($file['mime'],0,5) == 'text/')) continue;
|
||||
// As browsers not always return the right mime_type, you could use a negative list instead
|
||||
//if ($file['mime'] == egw_vfs::DIR_MIME_TYPE || substr($file['mime'],0,6) == 'image/') continue;
|
||||
|
||||
$actions['document-'.$file['name']] = /*lang('Insert in document').': '.*/$file['name'];
|
||||
}
|
||||
}
|
||||
egw_session::appsession('document_actions','addressbook',$actions);
|
||||
$GLOBALS['egw']->session->appsession('document_actions','addressbook',$actions);
|
||||
}
|
||||
return $actions;
|
||||
}
|
||||
@ -2135,61 +2091,25 @@ class addressbook_ui extends addressbook_bo
|
||||
{
|
||||
if (is_array($content))
|
||||
{
|
||||
if ($content['cat_id']) //add category
|
||||
if ($content['cat_id']) //add categorie
|
||||
{
|
||||
if ($content['cat_add'])
|
||||
{
|
||||
egw_session::appsession('cat_add','addressbook',$content['cat_id']);
|
||||
$GLOBALS['egw']->session->appsession('cat_add','addressbook',$content['cat_id']);
|
||||
$js = "opener.document.getElementById('exec[action]').value='cat_add'; opener.document.forms.eTemplate.submit();";
|
||||
}
|
||||
if ($content['cat_delete']) //delete categorie
|
||||
{
|
||||
egw_session::appsession('cat_delete','addressbook',$content['cat_id']);
|
||||
$GLOBALS['egw']->session->appsession('cat_delete','addressbook',$content['cat_id']);
|
||||
$js = "opener.document.getElementById('exec[action]').value='cat_add'; opener.document.forms.eTemplate.submit();";
|
||||
}
|
||||
}
|
||||
echo "<html><head><script>$js window.close();</script></head><html>\n";
|
||||
common::egw_exit();
|
||||
$GLOBALS['egw']->common->egw_exit();
|
||||
}
|
||||
$content['cat_tab'] = $this->config['cat_tab'];
|
||||
|
||||
$this->tmpl->read('addressbook.index.cat_add');
|
||||
return $this->tmpl->exec('addressbook.addressbook_ui.cat_add',$content,$sel_options,$readonlys,$content, 2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up history log widget
|
||||
*/
|
||||
protected function setup_history(&$content, &$sel_options) {
|
||||
$content['history'] = array(
|
||||
'id' => $content['id'],
|
||||
'app' => 'addressbook',
|
||||
'status-widgets' => array(
|
||||
'owner' => 'select-account',
|
||||
'cat_id' => 'select-cat',
|
||||
),
|
||||
);
|
||||
|
||||
foreach($this->content_types as $id => $settings) {
|
||||
$content['history']['status-widgets']['tid'][$id] = $settings['name'];
|
||||
}
|
||||
$sel_options['status'] = $this->contact_fields;
|
||||
foreach($this->tracking->field2label as $field => $label) {
|
||||
$sel_options['status'][$field] = lang($label);
|
||||
}
|
||||
|
||||
// Get custom field options
|
||||
$custom = config::get_customfields('addressbook', true);
|
||||
if(is_array($custom)) {
|
||||
foreach($custom as $name => $settings) {
|
||||
if(!is_array($settings['values'])) {
|
||||
$content['history']['status-widgets']['#'.$name] = $settings['type'];
|
||||
} elseif($settings['values']['@']) {
|
||||
$content['history']['status-widgets']['#'.$name] = customfields_widget::_get_options_from_file($settings['values']['@']);
|
||||
} else {
|
||||
$content['history']['status-widgets']['#'.$name] = $settings['values'];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -119,13 +119,14 @@ class addressbook_vcal extends addressbook_bo
|
||||
* @param string $_vcard the vcard
|
||||
* @param int/string $_abID=null the internal addressbook id or !$_abID for a new enty
|
||||
* @param boolean $merge=false merge data with existing entry
|
||||
* @param string $charset The encoding charset for $text. Defaults to
|
||||
* utf-8 for new format, iso-8859-1 for old format.
|
||||
* @return int contact id
|
||||
*/
|
||||
function addVCard($_vcard, $_abID=null, $merge=false, $charset=null)
|
||||
function addVCard($_vcard, $_abID=null, $merge=false)
|
||||
{
|
||||
if (!($contact = $this->vcardtoegw($_vcard, $charset))) return false;
|
||||
if (!$contact = $this->vcardtoegw($_vcard))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($_abID)
|
||||
{
|
||||
@ -167,7 +168,7 @@ class addressbook_vcal extends addressbook_bo
|
||||
{
|
||||
$contact['cat_id'] = implode(',',$this->find_or_add_categories($contact['cat_id'], -1));
|
||||
}
|
||||
if (isset($GLOBALS['egw_info']['user']['preferences']['syncml']['filter_addressbook']))
|
||||
if (isset($GLOBALS['egw_info']['user']['preferences']['syncml']['filter_addressbook']))
|
||||
{
|
||||
$owner = $GLOBALS['egw_info']['user']['preferences']['syncml']['filter_addressbook'];
|
||||
switch ($owner)
|
||||
@ -469,7 +470,7 @@ class addressbook_vcal extends addressbook_bo
|
||||
//$vCard->setParameter($vcardField, $options);
|
||||
}
|
||||
|
||||
$result = $vCard->exportvCalendar($_charset);
|
||||
$result = $vCard->exportvCalendar();
|
||||
if ($this->log)
|
||||
{
|
||||
error_log(__FILE__.'['.__LINE__.'] '.__METHOD__ .
|
||||
@ -480,11 +481,11 @@ class addressbook_vcal extends addressbook_bo
|
||||
return $result;
|
||||
}
|
||||
|
||||
function search($_vcard, $contentID=null, $relax=false, $charset=null)
|
||||
function search($_vcard, $contentID=null, $relax=false)
|
||||
{
|
||||
$result = array();
|
||||
|
||||
if (($contact = $this->vcardtoegw($_vcard, $charset)))
|
||||
if (($contact = $this->vcardtoegw($_vcard)))
|
||||
{
|
||||
if (is_array($contact['category']))
|
||||
{
|
||||
@ -509,20 +510,12 @@ class addressbook_vcal extends addressbook_bo
|
||||
if (is_array($_supportedFields)) $this->supportedFields = $_supportedFields;
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses a string containing vCard data.
|
||||
*
|
||||
* @param string $_vcard The data to parse.
|
||||
* @param string $charset The encoding charset for $text. Defaults to
|
||||
* utf-8 for new format, iso-8859-1 for old format.
|
||||
*
|
||||
* @return array|boolean The contact data or false on errors.
|
||||
*/
|
||||
function vcardtoegw($_vcard, $charset=null)
|
||||
function vcardtoegw($_vcard)
|
||||
{
|
||||
// the horde class does the charset conversion. DO NOT CONVERT HERE.
|
||||
// be as flexible as possible
|
||||
|
||||
|
||||
$databaseFields = array(
|
||||
'ADR;WORK' => array('','adr_one_street2','adr_one_street','adr_one_locality','adr_one_region',
|
||||
'adr_one_postalcode','adr_one_countryname'),
|
||||
@ -566,12 +559,14 @@ class addressbook_vcal extends addressbook_bo
|
||||
array2string($_vcard)."\n",3,$this->logfile);
|
||||
}
|
||||
|
||||
//Horde::logMessage("vCalAddressbook vcardtoegw:\n$_vcard", __FILE__, __LINE__, PEAR_LOG_DEBUG);
|
||||
|
||||
require_once(EGW_SERVER_ROOT.'/phpgwapi/inc/horde/Horde/iCalendar.php');
|
||||
|
||||
$container = false;
|
||||
$vCard = Horde_iCalendar::newComponent('vcard', $container);
|
||||
|
||||
if (!$vCard->parsevCalendar($_vcard, 'VCARD', $charset))
|
||||
if (!$vCard->parsevCalendar($_vcard, 'VCARD'))
|
||||
{
|
||||
return False;
|
||||
}
|
||||
@ -684,6 +679,7 @@ class addressbook_vcal extends addressbook_bo
|
||||
case 'VOICE':
|
||||
case 'OTHER':
|
||||
case 'CELL':
|
||||
if ($rowName != 'TEL') break;
|
||||
case 'WORK':
|
||||
case 'HOME':
|
||||
$rowName .= ';' . $pname;
|
||||
@ -981,17 +977,9 @@ class addressbook_vcal extends addressbook_bo
|
||||
{
|
||||
return false;
|
||||
}
|
||||
if (isset($GLOBALS['egw_info']['user']['preferences']['addressbook']['vcard_charset']))
|
||||
{
|
||||
$charset = $GLOBALS['egw_info']['user']['preferences']['addressbook']['vcard_charset'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$charset = 'utf-8';
|
||||
}
|
||||
foreach ($ids as $id)
|
||||
{
|
||||
fwrite($fp,$this->getVCard($id, $charset));
|
||||
fwrite($fp,$this->getVCard($id));
|
||||
}
|
||||
fclose($fp);
|
||||
|
||||
|
@ -1,95 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupWare - Wizard for Adressbook CSV import
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package addressbook
|
||||
* @link http://www.egroupware.org
|
||||
* @author Cornelius Weiss <nelius@cwtech.de>
|
||||
* @version $Id: $
|
||||
*/
|
||||
|
||||
class addressbook_wizard_import_contacts_csv extends importexport_wizard_basic_import_csv
|
||||
{
|
||||
|
||||
/**
|
||||
* constructor
|
||||
*/
|
||||
function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->steps += array(
|
||||
'wizard_step50' => lang('Manage mapping'),
|
||||
'wizard_step60' => lang('Choose owner of imported data'),
|
||||
);
|
||||
|
||||
// Field mapping
|
||||
$bocontacts = new addressbook_bo();
|
||||
$this->mapping_fields = $bocontacts->contact_fields;
|
||||
foreach($bocontacts->customfields as $name => $data) {
|
||||
$this->mapping_fields['#'.$name] = $data['label'];
|
||||
}
|
||||
unset($this->mapping_fields['jpegphoto']); // can't cvs import that
|
||||
|
||||
// Actions
|
||||
$this->actions = array(
|
||||
'none' => lang('none'),
|
||||
'update' => lang('update'),
|
||||
'insert' => lang('insert'),
|
||||
'delete' => lang('delete'),
|
||||
);
|
||||
|
||||
// Conditions
|
||||
$this->conditions = array(
|
||||
'exists' => lang('exists'),
|
||||
);
|
||||
}
|
||||
|
||||
function wizard_step50(&$content, &$sel_options, &$readonlys, &$preserv)
|
||||
{
|
||||
$result = parent::wizard_step50($content, $sel_options, $readonlys, $preserv);
|
||||
$content['msg'] .= "\n*" . lang('Contact ID cannot be changed by import');
|
||||
|
||||
return $result;
|
||||
}
|
||||
|
||||
function wizard_step60(&$content, &$sel_options, &$readonlys, &$preserv)
|
||||
{
|
||||
if($this->debug) error_log('addressbook.importexport.addressbook_csv_import::wizard_step60->$content '.print_r($content,true));
|
||||
// return from step60
|
||||
if ($content['step'] == 'wizard_step60')
|
||||
{
|
||||
switch (array_search('pressed', $content['button']))
|
||||
{
|
||||
case 'next':
|
||||
unset($content['csv_fields']);
|
||||
return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],1);
|
||||
case 'previous' :
|
||||
return $GLOBALS['egw']->importexport_definitions_ui->get_step($content['step'],-1);
|
||||
case 'finish':
|
||||
return 'wizard_finish';
|
||||
default :
|
||||
return $this->wizard_step60($content,$sel_options,$readonlys,$preserv);
|
||||
}
|
||||
}
|
||||
// init step60
|
||||
else
|
||||
{
|
||||
$content['msg'] = $this->steps['wizard_step60'];
|
||||
$content['step'] = 'wizard_step60';
|
||||
|
||||
if(!$content['contact_owner'] && $content['plugin_options']) {
|
||||
$content['contact_owner'] = $content['plugin_options']['contact_owner'];
|
||||
}
|
||||
|
||||
$bocontacts = new addressbook_bo();
|
||||
$sel_options['contact_owner'] = $bocontacts->get_addressbooks(EGW_ACL_ADD);
|
||||
|
||||
$preserv = $content;
|
||||
unset ($preserv['button']);
|
||||
return 'addressbook.importexport_wizard_chooseowner';
|
||||
}
|
||||
|
||||
}
|
||||
}
|
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupware - Addressbook configuration
|
||||
* Addressbook - configuration
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
@ -9,12 +9,6 @@
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* Hook to query available contact repositories for addressbook config
|
||||
*
|
||||
* @param array $config
|
||||
* @return string with options
|
||||
*/
|
||||
function contact_repositories($config)
|
||||
{
|
||||
$repositories = array('sql' => 'SQL');
|
||||
@ -33,26 +27,6 @@ function contact_repositories($config)
|
||||
return $options;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook to get available fileas types selectbox for addressbook config
|
||||
*
|
||||
* @param array $config
|
||||
* @return string html
|
||||
*/
|
||||
function select_fileas($config)
|
||||
{
|
||||
$bocontacts = new addressbook_bo();
|
||||
|
||||
return html::select('fileas','',array('' => lang('Set only full name'))+$bocontacts->fileas_options(),true);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Hook to get a multiselect box with all fieleds of onw-account-acl for addressbook config
|
||||
*
|
||||
* @param array $config
|
||||
* @return string html
|
||||
*/
|
||||
function own_account_acl($config)
|
||||
{
|
||||
$bocontacts = new addressbook_bo();
|
||||
@ -79,12 +53,6 @@ function own_account_acl($config)
|
||||
return html::checkbox_multiselect('newsettings[own_account_acl]',$config['own_account_acl'],$fields,true,'',4);
|
||||
}
|
||||
|
||||
/**
|
||||
* Hook to get a multiselect box with all fields of org-fields-to-update for addressbook config
|
||||
*
|
||||
* @param array $config
|
||||
* @return string html
|
||||
*/
|
||||
function org_fileds_to_update($config)
|
||||
{
|
||||
$bocontacts = new addressbook_bo();
|
||||
|
@ -1,431 +0,0 @@
|
||||
%1 added addressbook fi %1 lisätty
|
||||
%1 contact(s) %2 addressbook fi %1 yhteystieto(a) %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook fi %1 yhteystieto(a) %2, %3 epäonnistui puutteellisien ACL-oikeuksien takia !!!
|
||||
%1 contacts updated (%2 errors). addressbook fi %1 yhteystietoa päivitetty, %2 virhe(ttä)
|
||||
%1 fields in %2 other organisation member(s) changed addressbook fi %1 kenttiä %2:ssa muun organisaation jäsen(iä) on muutettu
|
||||
%1 not implemented for %2! addressbook fi %1 ei ole implementoitu %2
|
||||
%1 records imported addressbook fi %1 tietuetta tuotu
|
||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook fi %1 tietuetta luettu (ei vielä tuotu, voit %2palata%3 takaisin ja poistaa valinnan "Testi Tuonti")
|
||||
%1 starts with '%2' addressbook fi %1 alkaa %2
|
||||
%s please calculate the result addressbook fi %s, ole hyvä ja laske tulos
|
||||
(e.g. 1969) addressbook fi (esim. 1969)
|
||||
(empty = use global limit, no = no export at all) admin fi (tyhjä = käytä yleistä rajoitusta, ei = ei vientiä)
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook fi <b>Muunnostyyppiä <none> ei löydy.</b> Valitse muunnostyyppi listasta.
|
||||
@-eval() is only availible to admins!!! addressbook fi @-eval() on vain ylläpitäjien käytettävissä!
|
||||
account repository admin fi Käyttäjätilien varasto
|
||||
accounts addressbook fi Käyttäjätilit
|
||||
actions addressbook fi Toiminnot
|
||||
add %1 addressbook fi Lisää %1
|
||||
add a contact to this organisation addressbook fi Lisää yhteystieto tähän organisaatioon
|
||||
add a new contact addressbook fi Lisää uusi yhteystieto
|
||||
add a new infolog addressbook fi Lisää uusi InfoLog
|
||||
add a new list addressbook fi Lisää uusi lista
|
||||
add a single entry by passing the fields. addressbook fi Lisää yksittäinen tietue antamalla kentät.
|
||||
add business email of whole distribution list? addressbook fi Lisää työsähköpostiosoite koko jakelulistalle
|
||||
add custom field addressbook fi Lisää lisäkenttä
|
||||
add emails of whole distribution list? addressbook fi Lisää sähköpostiosoite koko jakelulistalle
|
||||
add or delete categories addressbook fi Lisää tai posta kategorioita
|
||||
add to distribution list: addressbook fi Lisää jakelulistalle:
|
||||
added addressbook fi Lisätty
|
||||
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 - view addressbook fi Osoitekirja - näkymä
|
||||
address line 2 addressbook fi Osoiterivi 2
|
||||
address type addressbook fi Osoitteen tyyppi
|
||||
addressbook common fi Osoitekirja
|
||||
addressbook csv export addressbook fi Osoitekirjan CSV-vienti
|
||||
addressbook field addressbook fi Osoitekirjan kenttä
|
||||
addressbook menu addressbook fi Osoitekirjan valikko
|
||||
addressbook preferences addressbook fi Osoitekirjan asetukset
|
||||
addressbook the contact should be saved to addressbook fi Osoitekirja, johon yhteystiedot tulisi tallentaa
|
||||
addressbook the contact should be shown addressbook fi Osoitekirja, jossa yhteystiedot tulisi olla
|
||||
addressbook-fieldname addressbook fi Osoitekirja - kentän nimi
|
||||
addvcard addressbook fi Lisää vCard
|
||||
advanced search addressbook fi Tarkennettu haku
|
||||
all contacts addressbook fi Kaikki yhteystiedot
|
||||
allow users to maintain their own account-data admin fi Salli käyttäjien muokata omia yhteystietojaan
|
||||
alt. csv import addressbook fi Alt. CSV tuonti
|
||||
always addressbook fi Aina
|
||||
apply changes to all members, whose fields have the same previous content addressbook fi Hyväksy muutos kaikille jäsenille, joilla on kentässä sama sisältö entuudestaan
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook fi Hyväksy tämä toiminto koko kyselylle, EI vain niille jotka näkyvät listalla!!!
|
||||
are you shure you want to delete this contact? addressbook fi Oletko varma että haluat poistaa tämän kontaktin?
|
||||
are you sure you want to delete this field? addressbook fi Oletko varma että haluat poistaa tämän kentän?
|
||||
assistent addressbook fi Assistentti
|
||||
assistent phone addressbook fi Assistentin puhelin
|
||||
at the moment the following document-types are supported: addressbook fi Tällä hetkellä seuraavat asiakirjamuodot ovat tuettuja:
|
||||
birthday common fi Syntymäpäivä
|
||||
birthdays common fi Syntymäpäivät
|
||||
blank addressbook fi Tyhjä
|
||||
business common fi Työ
|
||||
business address addressbook fi Työosoite
|
||||
business city addressbook fi Kaupunki
|
||||
business country addressbook fi Maa
|
||||
business email addressbook fi Sähköposti
|
||||
business fax addressbook fi Fax
|
||||
business phone addressbook fi Työpuhelin
|
||||
business state addressbook fi Osavaltio
|
||||
business street addressbook fi Katuosoite
|
||||
business zip code addressbook fi Postinumero
|
||||
calendar fields: addressbook fi Kalenterin kentät:
|
||||
calendar uri addressbook fi Kalenterin URI
|
||||
can be changed via setup >> configuration admin fi Voidaan vaihtaa kohdassa Asetukset >> Konfigurointi
|
||||
car phone addressbook fi Autopuhelin
|
||||
categorie addressbook fi Kategoria
|
||||
categorie added addressbook fi Kategoria lisätty
|
||||
categorie delete addressbook fi Kategoria poistettu
|
||||
categories, notes, ... addressbook fi Kategoriat, muistiot, ...
|
||||
category tree admin fi Kategorian runko
|
||||
cell phone addressbook fi Matkapuhelin
|
||||
change all organisation members addressbook fi Vaihda kaikki organisaation jäsenet
|
||||
charset for the csv export addressbook fi CSV -viennissä käytettävä merkistö
|
||||
charset of file addressbook fi Tiedoston merkistö
|
||||
check all addressbook fi Valitse kaikki
|
||||
choose an icon for this contact type admin fi Valitse kuvake tälle yhteystietotyypille
|
||||
choose owner of imported data addressbook fi Valitse omistaja tuoduille tiedoille
|
||||
choose seperator and charset addressbook fi Valitse erotin ja merkistö
|
||||
chosse an etemplate for this contact type admin fi Valitse eMallipohja tälle yhteystietotyypille
|
||||
city common fi Kaupunki
|
||||
cleanup addressbook fields (apply if synchronization creates duplicates) addressbook fi Tyhjennä osoitekirjan kentät (jos synkronisointi on luonut useampia samanlaisia)
|
||||
company common fi Yritys
|
||||
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:
|
||||
contact id addressbook fi Yhteystiedon ID
|
||||
contact maintenance admin fi Yhteystietojen huolto ja hallinta
|
||||
contact modified by %1 at %2 addressbook fi Yhteystieto muokattu: %1, %2
|
||||
contact not found! addressbook fi Yhteystietoa ei löytynyt!
|
||||
contact repository admin fi Yhteystietojen varasto
|
||||
contact saved addressbook fi Yhteystieto tallennettu
|
||||
contact settings admin fi Yhteystiedot - asetukset
|
||||
contactform addressbook fi Yhteystietokaavake
|
||||
contacts and account contact-data to ldap admin fi Yhteystiedot ja käyttäjätilien yhteystiedot LDAP:iin
|
||||
contacts and account contact-data to sql admin fi Yhteystiedot ja käyttäjätilien yhteystiedot SQL:ään
|
||||
contacts to ldap admin fi Yhteystiedot LDAP:iin
|
||||
contacts to ldap, account contact-data to sql admin fi Yhteystiedot LDAP:iin, käyttäjätilien yhteystiedot SQL:ään
|
||||
contains addressbook fi Sisältää
|
||||
copied by %1, from record #%2. addressbook fi Kopioinut: %1 tietueesta #%2.
|
||||
copy a contact and edit the copy addressbook fi Kopioi yhteystieto ja muokkaa kopiota
|
||||
copy your changes to the clipboard, %1reload the entry%2 and merge them. addressbook fi Kopioi muutokset leikepöydälle, %1päivitä tietue%2 ja sulauta ne.
|
||||
country common fi Maa
|
||||
create new links addressbook fi Luo uusia linkkejä
|
||||
created addressbook fi Luotu
|
||||
credit addressbook fi Luotto
|
||||
csv field addressbook fi CSV-kenttä
|
||||
csv-fieldname addressbook fi CSV-kentän nimi
|
||||
csv-filename addressbook fi CSV-tiedoston nimi
|
||||
custom addressbook fi Lisätiedot
|
||||
custom etemplate for the contactform addressbook fi Muokkaa eMallipohja yhteystietokaavakkeelle
|
||||
custom fields addressbook fi Lisätiedot
|
||||
debug output in browser addressbook fi Virheenselvitys selaimessa
|
||||
default addressbook fi Oletus
|
||||
default address format addressbook fi Oletusosoitteen muoto
|
||||
default addressbook for adding contacts addressbook fi Oletusosoitekirja, johon yhteystiedot tallennetaan
|
||||
default document to insert contacts addressbook fi Oletusasiakirja, johon yhteystiedot syötetään
|
||||
default file as format addressbook fi Oletustiedoston muoto
|
||||
default filter addressbook fi Oletussuodatin
|
||||
default format for fileas, eg. for new entries. addressbook fi Oletus Fileas muodolle, esimerkiksi uusille tietueille.
|
||||
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook fi Määrittele mitä sähköpostiosoitetta (työ tai koti) käytetään oletuksena jakelulistalla.
|
||||
delete a single entry by passing the id. addressbook fi Poista tietue antamalla sen tunniste
|
||||
delete selected distribution list! addressbook fi Poista valittu jakelulista
|
||||
delete this contact addressbook fi Poista tämä yhteystieto
|
||||
delete this organisation including all its contacts addressbook fi Poista tämä organisaatio ja KAIKKI sen sisältämät yhteystiedot.
|
||||
deleted addressbook fi Poistettu
|
||||
deletes the photo addressbook fi Poistaa kuvan
|
||||
department common fi Osasto
|
||||
departments addressbook fi Osastot
|
||||
directory with documents to insert contacts addressbook fi Tiedostokansio, mikä sisältää asiakirjat, joihin voidaan syöttää yhteystiedot
|
||||
display contact addressbook fi Näytä yhteystieto
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook fi Näytä etusivulla syntymäpäivien muistutus.
|
||||
distribution list deleted addressbook fi Jakelulista poistettu
|
||||
distribution lists addressbook fi Jakelulistat
|
||||
distribution lists, ... addressbook fi Jakelulistat, ...
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook fi Haluatko (toisen) yksityisen osoitekirjan, jota muut käyttäjät eivät näe, jos annat muille esim. ACL-lukuoikeuden henkilökohtaiseen osoitekirjaasi?
|
||||
do your really want to delete this contact? addressbook fi Haluatko varmasti poistaa tämän kontaktin?
|
||||
document '%1' does not exist or is not readable for you! addressbook fi Asiakirjaa '%1' ei ole olemassa, tai sinulla ei ole ACL-lukuoikeutta siihen!
|
||||
doesn't matter addressbook fi Ei väliä
|
||||
domestic addressbook fi Kotimainen
|
||||
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
|
||||
duration addressbook fi Kesto
|
||||
edit custom field addressbook fi Muokkaa lisäkenttiä
|
||||
edit custom fields admin fi Muokkaa lisäkenttiä
|
||||
edit extra account-data in the addressbook admin fi Muokkaa extra-käyttäjätilitietoja osoitekirjassa
|
||||
edit phonenumbers - addressbook fi Muokkaa puhelinnumeroita
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook fi Joko sähköpostiosoitte tai sähköpostitili on konfiguroitu virheellisesti.
|
||||
email & internet addressbook fi Sähköposti ja Internet
|
||||
email addresses (comma separated) to send the contact data addressbook fi Sähköpostiosoitteet (pilkulla eroitetut) joihin yhteystiedot lähetetään
|
||||
empty admin fi Tyhjä
|
||||
empty for all addressbook fi Tyhjä kaikille
|
||||
enable an extra private addressbook addressbook fi Salli ylimääräinen, henkilökohtainen osoitekirja
|
||||
end addressbook fi Lopeta
|
||||
enter the path to the exported file here addressbook fi Anna viedyn tiedoston polku
|
||||
error deleting the contact !!! addressbook fi Virhe poistettaessa yhteystietoa !!!
|
||||
error saving the contact !!! addressbook fi Virhe tallennettaessa yhteystietoa !!!
|
||||
error: the entry has been updated since you opened it for editing! addressbook fi Virhe: Yhteystietoa on jo päivitetty sen jälkeen, kun avasit sen muokattavaksi!
|
||||
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 fi Esim. $$IF n_prefix~Mr~Hello Mr.~Hello Ms.$$ - search the field "n_prefix", for "Mr", if found, write Hello Mr., else write Hello Ms. You can also use a field name instead a fix value. Example: $$IFadr_one_countryname~DEUTSCHLAND~~adr_one_countryname$$
|
||||
existing links addressbook fi Olemassaolevat linkit
|
||||
export addressbook fi Vienti
|
||||
export as csv addressbook fi Vie CSV -muodossa
|
||||
export as vcard addressbook fi Vie VCard -muodossa
|
||||
export contacts addressbook fi Vie yhteystiedot
|
||||
export file name addressbook fi Vie tiedostoon
|
||||
export from addressbook addressbook fi Vie osoitekirjasta
|
||||
export selection addressbook fi Vie valinnat
|
||||
exported addressbook fi Viety
|
||||
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 fi Vie osoitekirjan yhteystiedot CSV tiedostoon. CVS (Comma Seperated Values) tarkoittaa pilkulla erotettua muotoilua. Voit valita Asetukset välilehdeltä myös muita erotustapoja.
|
||||
extra addressbook fi Lisätiedot
|
||||
extra private addressbook fi Yksityiset tiedot
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook fi %1 organisaation jäsen(ien) muutos epäonnistui (Puutteelliset oikeudet) !!!
|
||||
fax addressbook fi Faksi
|
||||
fax number common fi Faksinumero
|
||||
field %1 has been added ! addressbook fi Kenttä %1 on lisätty!
|
||||
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 show in address list addressbook fi Kentät, jotka näkyvät osoitelistassa
|
||||
fieldseparator addressbook fi Kenttäerotin
|
||||
fieldseperator addressbook fi Kenttäerotin
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook fi Käytä sivuntoisto (page repeat) komentoa asiakirjassa, jos yhteystietoja on useampi kuin yksi! (Vain *rtf)
|
||||
for read only ldap admin fi Vain luku LDAP:sta
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook fi Käytä tätä Tagia sarjakirjeille (serial letter). Lisää toistettava sisältö kahden Tagin väliin
|
||||
freebusy uri addressbook fi Freebusy URL
|
||||
full name addressbook fi Koko nimi
|
||||
general addressbook fi Yleinen
|
||||
general fields: addressbook fi Yleiset kentät
|
||||
geo addressbook fi GEO
|
||||
global categories addressbook fi Yleiset kategoriat
|
||||
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
|
||||
hides accounts completly from the adressbook. addressbook fi Piiloita käyttäjätilit kokonaan osoitekirjasta.
|
||||
home address addressbook fi Kotiosoite
|
||||
home address, birthday, ... addressbook fi Kotiosoite, syntymäpäivä, ...
|
||||
home city addressbook fi Kaupunki
|
||||
home country addressbook fi Maa
|
||||
home email addressbook fi Sähköposti
|
||||
home email if given, else work email addressbook fi Kotisähköpostiosoite, jos mahdollista, muutoin työsähköpostiosoite.
|
||||
home phone addressbook fi Kotipuhelin
|
||||
home state addressbook fi Osavaltio
|
||||
home street addressbook fi Katuosoite
|
||||
home zip code addressbook fi Postinumero
|
||||
how many contacts should non-admins be able to export admin fi Kuinka monta yhteystietoa muiden kuin ylläpitäjien sallitaan viedä kerralla?
|
||||
icon addressbook fi Kuvake
|
||||
if accounts are already in ldap admin fi Jos käyttäjätili on jo LDAP:ssa
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook fi Jos asetat täällä tiedostokansion nimen (koko vfs polku), osoitekirja näyttää kansiossa olevat asiakirjat. Osoitekirjassa voit valita yhteystiedot, mitkä tulisi syöttää asiakirjaan.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook fi Jos asetat täällä asiakirjan nimen (koko vfs polku), osoitekirja näyttää ylimääräisen kuvakkeen jokaisen yhteystiedon toimintorivillä. Kuvaketta painamalla voit ladata yhteystiedot kyseiseen asiakirjaan.
|
||||
ignore first line addressbook fi Ohita ensimmäinen rivi
|
||||
import addressbook fi Tuonti
|
||||
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 outlook addressbook fi Tuo Outlookista
|
||||
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.
|
||||
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 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
|
||||
insert in document addressbook fi Syötä asiakirja
|
||||
insufficent rights to delete this list! addressbook fi Puuttelliset ACL-oikeudet listan poistamiseksi!
|
||||
international addressbook fi Kansainvälinen
|
||||
internet addressbook fi Internet
|
||||
label addressbook fi Nimikenttä
|
||||
last date addressbook fi Viimeisin tapaaminen
|
||||
last modified addressbook fi Viimeksi muokattu
|
||||
last modified by addressbook fi Viimeksi muokannut
|
||||
ldap context for contacts admin fi LDAP-konteksti yhteystiedoille
|
||||
ldap host for contacts admin fi LDAP-palvelin yhteystiedoille
|
||||
ldap settings for contacts admin fi Yhteystietojen LDAP asetukset
|
||||
ldif addressbook fi LDIF
|
||||
line 2 addressbook fi Rivi 2
|
||||
link title for contacts show addressbook fi Linkitä otsikko näyttämään yhteystieto
|
||||
links addressbook fi Linkit
|
||||
list all categories addressbook fi Näytä kaikki kategoriat
|
||||
list all customfields addressbook fi Näytä kaikki lisäkentät
|
||||
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!
|
||||
load sample file addressbook fi Lataa esimerkki tiedosto
|
||||
load vcard addressbook fi Lataa VCard
|
||||
location addressbook fi Sijainti
|
||||
locations addressbook fi Sijainnit
|
||||
manage mapping addressbook fi Hallitse mappingiä
|
||||
mark records as private addressbook fi Merkitse tietueet yksityisiksi
|
||||
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
|
||||
message phone addressbook fi Vastaajapalvelu
|
||||
middle name addressbook fi Toinen nimi
|
||||
migration finished addressbook fi Sulauttaminen valmis
|
||||
migration to ldap admin fi Sulauta LDAP:iin
|
||||
mobile addressbook fi GSM
|
||||
mobile phone addressbook fi Matkapuhelin
|
||||
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
|
||||
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.
|
||||
next date addressbook fi Seuraava tapaaminen
|
||||
no categories selected addressbook fi Kategorioita ei ole valittu
|
||||
no fallback addressbook fi Ei fallbackiä
|
||||
no vcard addressbook fi Ei VCard
|
||||
number addressbook fi Numero
|
||||
number of records to read (%1) addressbook fi Luettavien tietueiden määrä (%1)
|
||||
options for type admin fi Muodon vaihtoehdot
|
||||
organisation addressbook fi Organisaatio
|
||||
organisations addressbook fi Organisaatiot
|
||||
organisations by departments addressbook fi Organisaatiot osastoittain
|
||||
organisations by location addressbook fi Organisaatiot sijainneittain
|
||||
other number addressbook fi Muu numero
|
||||
other phone addressbook fi Muu puhelin
|
||||
own sorting addressbook fi Oma lajittelu
|
||||
pager common fi Hakulaite
|
||||
parcel addressbook fi Parcel
|
||||
participants addressbook fi Osallistujat
|
||||
permission denied !!! addressbook fi Pääsy estetty !!!
|
||||
phone number common fi Puhelinnumero
|
||||
phone numbers common fi Puhelinnumerot
|
||||
photo addressbook fi Kuva
|
||||
please enter a name for that field ! addressbook fi Anna kentän nimi!
|
||||
please select only one category addressbook fi Valitse vain yksi kategoria
|
||||
please update the templatename in your customfields section! addressbook fi Päivitä mallipohjan nimi lisäkentissä!
|
||||
postal common fi Postal
|
||||
pref addressbook fi pref.
|
||||
preferred email address to use in distribution lists addressbook fi Ensisijainen sähköpostiosoite käytettäväksi jakelulistoilla.
|
||||
preferred phone addressbook fi Ensisijainen puhelin
|
||||
preferred type of email address to add for distribution lists addressbook fi Ensisijainen sähköpostiosoite jakelulistoilla käytettäväksi.
|
||||
prefix addressbook fi Etuliite
|
||||
private custom fields addressbook fi Yksityiset lisätiedot
|
||||
public key addressbook fi Julkinen avain
|
||||
publish into groups: addressbook fi Julkaise ryhmissä
|
||||
read a list / search for entries. addressbook fi Lue luettelo / hae tietueita
|
||||
read a list of entries. addressbook fi Lue tietueiden luettelo
|
||||
read a single entry by passing the id and fieldlist. addressbook fi Lue yksittäinen tietue antamalla tunniste (ID) ja kenttäluettelo.
|
||||
read only addressbook fi Vain luku
|
||||
record access addressbook fi Tietueen käyttöoikeus
|
||||
record owner addressbook fi Tietueen omistaja
|
||||
region addressbook fi Alue
|
||||
remove selected contacts from distribution list addressbook fi Poista valitut yhteystiedot jakelulistalta
|
||||
removed from distribution list addressbook fi Poistettu jakelulistalta
|
||||
repetition addressbook fi Toisto
|
||||
replacements for inserting contacts into documents addressbook fi Komennot (replacements) asiakirjoihin syötettäville yhteystiedoille
|
||||
required fields * addressbook fi Vaaditut kentät *
|
||||
role addressbook fi Rooli
|
||||
room addressbook fi Huone
|
||||
search for '%1' addressbook fi Haku '%1'
|
||||
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
|
||||
select all addressbook fi Valitse kaikki
|
||||
select an action or addressbook to move to addressbook fi Valitse toiminto tai osoitekirja siirrettäväksi
|
||||
select an action or addressbook to move to... addressbook fi Valitse toiminto tai osoitekirja siirrettäväksi...
|
||||
select migration type admin fi Valitse sulautustapa
|
||||
select multiple contacts for a further action addressbook fi Suorita valituille yhteystiedoille seuraava toiminto
|
||||
select phone number as prefered way of contact addressbook fi Valitse puhelinnumero ensisijaiseksi yhteydenottotavaksi yhteystiedolle
|
||||
select the type of conversion addressbook fi Valitse muunnoksen tyyppi
|
||||
select the type of conversion: addressbook fi Valitse muunnoksen tyyppi:
|
||||
select where you want to store / retrieve contacts admin fi Valitse minne varastoit / palautat yhteystiedot
|
||||
selected contacts addressbook fi Valitse yhteystiedot
|
||||
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
|
||||
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 birthday reminders on main screen addressbook fi Näytä syntymäpäivämuistutukset etusivulla
|
||||
show infolog entries for this organisation addressbook fi Näytä InfoLogin merkinnät tästä organisaatiosta
|
||||
show the contacts of this organisation addressbook fi Näytä tämän organisaation yhteystiedot
|
||||
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ä)
|
||||
stadt addressbook fi Kaupunki
|
||||
start admin fi Aloita
|
||||
startrecord addressbook fi Aloitustietue
|
||||
state common fi Osavaltio
|
||||
street common fi Katuosoite
|
||||
subject for email addressbook fi Sähköpostin otsikko
|
||||
successfully imported %1 records into your addressbook. addressbook fi Tuotiin %1 tietuetta osoitekirjaan.
|
||||
suffix addressbook fi Jälkiliite
|
||||
tel home addressbook fi Kotipuhelin
|
||||
telephony integration admin fi Puhelinintegrointi
|
||||
test import (show importable records <u>only</u> in browser) addressbook fi Testi Tuonti (näytä tuotavat tietueet <u>vain</u> selaimessa)
|
||||
thank you for contacting us. addressbook fi Kiitos yhteydenotostanne!
|
||||
that field name has been used already ! addressbook fi Kentän nimi on jo käytössä!
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook fi Tuntemattomalla käyttäjällä ei ole lisäämiseen tarvittavia ACL-oikeuksia tässä osoitekirjassa.
|
||||
the anonymous user needs add rights for it! addressbook fi Tuntematon käyttäjä tarvitsee lisäämiseen tarvittavat ACL-oikeudet!
|
||||
the anonymous user needs read it! addressbook fi Tuntematon käyttäjä tarvitsee lukemiseen tarvittavat ACL-oikeudet!
|
||||
the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (%1full list of placeholder names%2). addressbook fi Asiakirja voi sisältää komentoja (placeholder) kuten $$n_fn$$, mitkä täytetään yhteystiedoilla (%1lista kaikista komennoista%2).
|
||||
there was an error saving your data :-( addressbook fi Virhe tallennettaessa!
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook fi Tämä moduuli näyttää yhteydenottokaavakkeen, mikä varastoi osoitteen suoraan osoitekirjaan.
|
||||
this person's first name was not in the address book. addressbook fi Etunimeä ei ole osoitekirjassa.
|
||||
this person's last name was not in the address book. addressbook fi Sukunimeä ei ole osoitekirjassa.
|
||||
timezone addressbook fi Aikavyöhyke
|
||||
to many might exceed your execution-time-limit addressbook fi Liian moni saattaa ylittää suoritusajan
|
||||
today is %1's birthday! common fi Tänään syntymäpäiväänsä viettää %1!
|
||||
tomorrow is %1's birthday. common fi Huomenna syntymäpäiväänsä viettää %1.
|
||||
translation addressbook fi Käännös
|
||||
two of: %1 addressbook fi 2 / %1
|
||||
type addressbook fi Osoitetyyppi
|
||||
unique id (uid) addressbook fi Yksilöllinen ID (UID)
|
||||
unique id<br />(to update existing records) addressbook fi Yksillölinen ID<br />(päivittää jo olemassaolevat tietueet)
|
||||
update a single entry by passing the fields. addressbook fi Päivitä yksittäistä tietuetta antamalla kentät.
|
||||
update fields by edited organisations? admin fi Päivitetäänkö organisaation muokatut kentät?
|
||||
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 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
|
||||
used for links and for the own sorting of the list addressbook fi Käytä linkeissä ja omassa lajittelulistassa
|
||||
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!
|
||||
warning: template "%1" not found, using default template instead. addressbook fi VAROITUS: Mallipohjaa "%1" ei löytynyt, käyttää oletusmallipohjaa sen sijaan.
|
||||
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 applikaatioissa esim. InfoLogissa. Tyhjiä kenttiä ei kuitenkaan näytetä. Kirjaudu sisään uudellen, jos muutat tätä asetusta!
|
||||
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.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook fi Mitä merkistökoodausta käytetään CSV -viennissä. Järjestelmän oletus on merkistökoodaus, joka määriteltiin asennuksen yhteydessä.
|
||||
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 fi Mitkä kentät voidaan viedä. Kaikki tarkoittaa jokaista kenttää, jotka osoitekirjasta löytyy, sisältäen lisäkentät. Työ- tai kotiosoite sisältävät vain nimen, yrityksen ja valitut osoitekentät.
|
||||
whole query addressbook fi Koko kysely
|
||||
work email if given, else home email addressbook fi Työsähköpostiosoite, jos mahdollista, muutoin kotisähköpostiosoite.
|
||||
work phone addressbook fi Työpuhelin
|
||||
wrong - try again ... addressbook fi Väärin - yritä uudestaan ...
|
||||
yes, for the next three days addressbook fi Kyllä, seuraavan 3 päivän ajalta
|
||||
yes, for the next two weeks addressbook fi Kyllä, seuraavan 2 viikon ajalta
|
||||
yes, for the next week addressbook fi Kyllä, seuraavan viikon ajalta
|
||||
yes, for today and tomorrow addressbook fi Kyllä, tämän päivän ja huomisen ajalta
|
||||
you are not permitted to delete contact %1 addressbook fi Sinulla ei ole oikeutta poistaa kontaktia %1
|
||||
you are not permittet to delete this contact addressbook fi Sinulla ei ole oikeutta poistaa tätä kontaktia
|
||||
you are not permittet to edit this contact addressbook fi Sinulla ei ole oikeutta muokata tätä kontaktia
|
||||
you are not permittet to view this contact addressbook fi Sinulla ei ole oikeutta nähdä tätä kontaktia
|
||||
you can only use ldap as contact repository if the accounts are stored in ldap too! admin fi Voit käyttää LDAP:ia ainoastaan yhteystietovarastona jos myös käyttäjätilit ovat varastoitu sinne!
|
||||
you can respond by visiting: addressbook fi Nähdäksesi sen, vieraile:
|
||||
you must select a vcard. (*.vcf) addressbook fi Valitse vCard -tiedosto. (*.vcf)
|
||||
you must select at least 1 column to display addressbook fi Valitse ainakin yksi näytettävä sarake
|
||||
you need to select a distribution list addressbook fi Valitse ensin jakelulista
|
||||
you need to select some contacts first addressbook fi Valitse ensin joku yhteystieto
|
||||
zip code common fi Postinumero
|
||||
zip_note addressbook fi <p><b>Huom:</b> Tiedosto voi olla usean .csv-, .vcf- tai .ldif -tiedoston zip-paketti. Älä kuitenkaan tuo useampaa tiedostotyyppiä kerralla.
|
@ -1,767 +0,0 @@
|
||||
%1 - %2 of %3 user accounts admin fr %1 - %2 de %3 comptes utilisateurs
|
||||
%1 - %2 of %3 user groups admin fr %1 - %2 de %3 groupes utilisateurs
|
||||
%1 acl records of not (longer) existing accounts deleted. admin fr %1 droits d'accès de comptes inexistants supprimés.
|
||||
%1 added addressbook fr %1 ajouté
|
||||
%1 contact(s) %2 addressbook fr %1 contact(s) %2
|
||||
%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 fields in %2 other organisation member(s) changed addressbook fr Le champ %1 dans %2 d'autre membre de l'organisation a changé.
|
||||
%1 not found or not executable !!! admin fr %1 introuvable ou pas exécutable !!!
|
||||
%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 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
|
||||
(default no, leave it off if you dont use it) admin fr (Non par défaut, ne pas modifier si vous ne l'utilisez pas)
|
||||
(e.g. 1969) addressbook fr (e.g. 1969)
|
||||
(stored password will not be shown here) admin fr (Le mot de passe enregistré ne sera pas montré ici)
|
||||
(to install new applications use<br><a href="setup/" target="setup">setup</a> [manage applications] !!!) admin fr (Pour installer de nouvelles applications utilisez<br><a href="setup/" target="setup">Setup</a> [Gérer Les Applications] !!!)
|
||||
- type admin fr - type
|
||||
<b>no conversion type <none> 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!!!
|
||||
accesslog and bruteforce defense admin fr Protection contre les attaques accès aux logs et attaque systématique
|
||||
account active admin fr Compte actif
|
||||
account has been created common fr Le compte a été créé
|
||||
account has been deleted common fr Le compte a été supprimé
|
||||
account has been updated common fr Le compte a été mis à jour
|
||||
account list admin fr Liste des comptes
|
||||
account permissions admin fr Permissions de compte
|
||||
account preferences admin fr Préférences de compte
|
||||
account repository admin fr Dépôt de comptes
|
||||
accounts addressbook fr Comptes
|
||||
acl manager admin fr Gestionnaire des droits d'accès
|
||||
acl rights common fr Droits d'accès
|
||||
action admin fr Action
|
||||
actions addressbook fr Actions
|
||||
activate wysiwyg-editor admin fr activer l'éditeur WYSIWYG
|
||||
add %1 addressbook fr Ajouter %1
|
||||
add a category admin fr Ajouter une catégorie
|
||||
add a contact to this organisation addressbook fr Ajouter un contact à cette organisation
|
||||
add a group admin fr Ajouter un groupe
|
||||
add a new account. admin fr Ajouter un nouveau compte.
|
||||
add a new contact addressbook fr Ajouter un nouveau contact
|
||||
add a new list addressbook fr Ajouter une nouvelle liste
|
||||
add a single entry by passing the fields. addressbook fr Ajouter une seule entrée en passant les champs.
|
||||
add a subcategory admin fr Ajouter une sous-catégorie
|
||||
add a user admin fr Ajouter un utilisateur
|
||||
add account admin fr Ajouter un compte
|
||||
add application admin fr Ajouter une application
|
||||
add auto-created users to this group ('default' will be attempted if this is empty.) admin fr Ajouter les utilisateurs crées automatiquement à ce groupe ('Défaut' sera tenté si ce champ est laissé vide.)
|
||||
add business email of whole distribution list? addressbook fr Ajouter l'email professionnel
|
||||
add custom field addressbook fr Ajouter un champ personnalisé
|
||||
add global category admin fr Ajouter une catégorie globale
|
||||
add global category for %1 admin fr Ajouter une catégorie globale pour %1
|
||||
add group admin fr Ajouter un groupe
|
||||
add new account admin fr Ajouter un nouveau compte
|
||||
add new application admin fr Ajouter une nouvelle application
|
||||
add peer server admin fr Ajouter un Serveur Pair
|
||||
add sub-category admin fr Ajouter une sous-catégorie
|
||||
add to distribution list: addressbook fr Ajouter à la liste de distribution:
|
||||
added by synchronisation addressbook fr ajouté par synchronisation
|
||||
added to distribution list addressbook fr ajouté à la liste de distribution
|
||||
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 - view addressbook fr Carnet d'adresses - Voir
|
||||
address line 2 addressbook fr Adresse ligne 2
|
||||
address type addressbook fr Type d'adresse
|
||||
addressbook common fr Carnet d'adresses
|
||||
addressbook csv export addressbook fr Exporter en CSV le carnet d'adresse
|
||||
addressbook menu addressbook fr Menu de carnet d'adresses
|
||||
addressbook preferences addressbook fr Préférences du carnet d'adresses
|
||||
addressbook the contact should be saved to addressbook fr Le contact du carnet d'adresses doit être sauvegardé vers
|
||||
addressbook-fieldname addressbook fr Carnet d'adresses - nom du champ
|
||||
addvcard addressbook fr Ajouter VCard
|
||||
admin email admin fr Email de l'administrateur
|
||||
admin email addresses (comma-separated) to be notified about the blocking (empty for no notify) admin fr Adresses EMail (séparées par des virgules) des administrateurs à prévenir à propos du blocage (vide pour aucune notification)
|
||||
admin name admin fr Nom de l'administrateur
|
||||
administration admin fr Administration
|
||||
admins admin fr Administrateurs
|
||||
advanced options admin fr options avançées
|
||||
advanced search addressbook fr Recherche avancée
|
||||
after how many unsuccessful attempts to login, an account should be blocked (default 3) ? admin fr Après combien de tentatives infructueuses de connexion, un compte doit-il être bloqué (3 par défaut) ?
|
||||
after how many unsuccessful attempts to login, an ip should be blocked (default 3) ? admin fr Après combien de tentatives infructueuses de connexion, une adresse IP doit-elle être bloquée (3 par défaut) ?
|
||||
aliases admin fr Alias
|
||||
all contacts addressbook fr Tous les contacts
|
||||
all records and account information will be lost! admin fr Tous les enregistrements et informations sur les comptes vont être perdus!
|
||||
all users admin fr Tous les utilisateurs
|
||||
allow anonymous access to this app admin fr Autoriser l'accès anonyme à cette application
|
||||
allow users to maintain their own account-data admin fr Permettre aux utilisateurs de maintenir les données de leur propre compte
|
||||
alt. csv import addressbook fr Importation CSV alternative
|
||||
alternate email address admin fr Adresse email alternative
|
||||
always addressbook fr toujours
|
||||
anonymous user admin fr Utilisateur anonyme
|
||||
anonymous user (not shown in list sessions) admin fr Utilisateur anonyme (n'apparaît pas dans la liste des sessions)
|
||||
anonymous user does not exist! admin fr L'utilisateur anonyme n'existe pas !
|
||||
anonymous user has no run-rights for the application! admin fr L'utilisateur anonyme n'a pas le droit d'exécuter cette application !
|
||||
appearance admin fr Apparence
|
||||
application admin fr Application
|
||||
application name admin fr Nom d'application
|
||||
application title admin fr Titre d'application
|
||||
applications admin fr Applications
|
||||
applications list admin fr Liste de applications
|
||||
applies the changes admin fr appliquer les changements
|
||||
apply changes to all members, whose fields have the same previous content addressbook fr Appliquer les changements à tous les membres dont les champs ont le même contenu.
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook fr Appliquer l'action sur la totalité des résultats de la requête et pas seulement sur les contacts affichés.
|
||||
are you shure you want to delete this contact? addressbook fr Etes-vous sûr que vous voulez supprimer ce contact?
|
||||
are you sure you want to delete the application %1 ? admin fr Etes-vous sûr de vouloir supprimer l'application %1 ?
|
||||
are you sure you want to delete this account ? admin fr Etes-vous sûr de vouloir supprimer ce compte ?
|
||||
are you sure you want to delete this application ? admin fr Etes-vous sûr de vouloir supprimer cette application ?
|
||||
are you sure you want to delete this category ? common fr Etes-vous sûr de vouloir supprimer cette catégorie ?
|
||||
are you sure you want to delete this field? addressbook fr Etes-vous sûr de vouloir effacer ce champ ?
|
||||
are you sure you want to delete this global category ? admin fr Etes-vous sûr de vouloir supprimer cette catégorie globale ?
|
||||
are you sure you want to delete this group ? admin fr Etes-vous sûr de vouloir supprimer ce groupe ?
|
||||
are you sure you want to delete this server? admin fr Etes-vous sûr de vouloir supprimer ce serveur ?
|
||||
are you sure you want to kill this session ? admin fr Etes-vous sûr de vouloir tuer cette session ?
|
||||
assistent addressbook fr Assistant(e)
|
||||
assistent phone addressbook fr Téléphone assistant(e)
|
||||
async services last executed admin fr Dernière exécution des services asynchrones
|
||||
asynchronous timed services admin fr Services asynchrones
|
||||
asyncservices not yet installed or other error (%1) !!! admin fr services asynchrones pas encore installés ou autre erreur (%1) !!!
|
||||
at the moment the following document-types are supported: addressbook fr À l'heure actuelle les types de documents supportés :
|
||||
attempt to use correct mimetype for ftp instead of default 'application/octet-stream' admin fr Tentative d'utiliser le type MIME correct pour ftp à la place de celui par défaut 'application/octet-stream'
|
||||
attribute accountstatus explained admin fr Ceci modifie l'attribut <b><i>accountStatus</i></b> (Status du compte) pour le schéma de QMAIL.
|
||||
attribute mail explained admin fr Ceci modifie l'attribut <b><i>-mail-</b></i> du schéma QMAIL. Cet attribut doit toujours être renseigné, c'est aussi le champ de l'adresse de courriel interne de eGW.
|
||||
attribute mailalternateaddress explained admin fr Ceci modifie l'attribut <b><i>-mailAlternateAddress-</i></b> (adresse de messagerie alternative) du schéma QMAIL. Cela peut être utilisé comme un alias ou un adressage virtuel.
|
||||
attribute mailforwardingaddress explained admin fr Ceci modifie l'attribut <b><i>-mailForwardingAddress-</i></b> (adresse de routage de messagerie) du schéma QMAIL. En cas d'utilisation de cette valeur, elle ne peut être vide.
|
||||
authentication / accounts admin fr Authentification / Comptes
|
||||
auto create account records for authenticated users admin fr Créer automatiquement les enregistrements de comptes pour les utilisateurs authentifiés
|
||||
back to the list admin fr retour à la liste
|
||||
bi-dir passthrough admin fr passage bidirectionnel
|
||||
bi-directional admin fr bidirectionnel
|
||||
birthday common fr Anniversaire
|
||||
birthdays common fr Anniversaires
|
||||
blank addressbook fr Blanc
|
||||
bottom admin fr bas
|
||||
business common fr Bureau
|
||||
business address addressbook fr Adresse (bureau)
|
||||
business city addressbook fr Ville (bureau)
|
||||
business country addressbook fr Pays (bureau)
|
||||
business email addressbook fr EMail (bureau)
|
||||
business fax addressbook fr Fax (bureau)
|
||||
business phone addressbook fr Téléphone (bureau)
|
||||
business state addressbook fr Région (bureau)
|
||||
business street addressbook fr Rue (bureau)
|
||||
business zip code addressbook fr Code postal (bureau)
|
||||
calculate next run admin fr Calculer la prochaine exécution
|
||||
calendar fields: addressbook fr Champ calendrier:
|
||||
calendar uri addressbook fr URI du calendrier
|
||||
can be changed via setup >> configuration admin fr Peut être modifié via Setup >> Configuration
|
||||
can change password admin fr Peut modifier son mot de passe
|
||||
cancel testjob! admin fr Annuler le Travail de test!
|
||||
car phone addressbook fr Téléphone voiture
|
||||
categories list admin fr Liste des catégories
|
||||
categories, notes, ... addressbook fr Catégories, Notes, ...
|
||||
category %1 has been saved ! admin fr La catégorie %1 a été enregistrée !
|
||||
category list admin fr Liste de catégories
|
||||
cell phone addressbook fr Téléphone portable
|
||||
change acl rights admin fr modifier les droits d'accès (ACL)
|
||||
change all organisation members addressbook fr Modifier tous les membres de l'organisation
|
||||
change config settings admin fr Modifier les paramètres de configuration
|
||||
change main screen message admin fr Changer le message de l'écran principal
|
||||
charset for the csv export addressbook fr Jeu de caractères pour l'exportation CSV
|
||||
charset of file addressbook fr Jeu de caractères du fichier
|
||||
check all addressbook fr Vérifier tout
|
||||
check ip address of all sessions admin fr Vérifier l'adresse IP de toutes les sessions
|
||||
check items to <b>%1</b> to %2 for %3 admin fr Vérifier les objets vers <b>%1</b> à %2 pour %3
|
||||
choose an icon for this contact type admin fr Choisisser une icône pour ce type de contact
|
||||
choose owner of imported data addressbook fr Choisisser le propriétaire de données importées
|
||||
choose seperator and charset addressbook fr Choisisser le séparateur et l'encodage
|
||||
chosse an etemplate for this contact type admin fr Choisissez un eTemplate pour ce type de contact
|
||||
city common fr Ville
|
||||
click to select a color admin fr Cliquez pour sélectionner une couleur
|
||||
color admin fr Couleur
|
||||
company common fr Société
|
||||
company name addressbook fr Nom de la société
|
||||
configuration common fr Configuration
|
||||
contact common fr Contact
|
||||
contact application admin fr Application contact
|
||||
contact copied addressbook fr Contact copié
|
||||
contact deleted addressbook fr Contact supprimé
|
||||
contact id addressbook fr ID (identificateur) du contact
|
||||
contact repository admin fr Dépôt de contacts
|
||||
contact saved addressbook fr Contact enregistré
|
||||
contact settings admin fr Paramètres du contact
|
||||
contacts and account contact-data to ldap admin fr contacts et dépôt des données des comptes vers LDAP
|
||||
contacts to ldap admin fr contacts vers LDAP
|
||||
contacts to ldap, account contact-data to sql admin fr contacts vers LDAP, dépôt des données des comptes vers SQL
|
||||
contains addressbook fr contient
|
||||
copied by %1, from record #%2. addressbook fr Copié par %1 depuis l'enregistrement n°%2.
|
||||
copy a contact and edit the copy addressbook fr Copier un contact et modifier la copie
|
||||
country common fr Pays
|
||||
country selection admin fr Sélection du pays
|
||||
create group admin fr Créer un groupe
|
||||
create new links addressbook fr Créer de nouveaux liens
|
||||
created addressbook fr Créé(s)
|
||||
creates a new field admin fr Créer un nouveau champ
|
||||
credit addressbook fr Crédits
|
||||
crontab only (recomended) admin fr crontab seulement (recommandé)
|
||||
csv-fieldname addressbook fr CSV - Nom du champ
|
||||
csv-filename addressbook fr CSV - Nom du fichier
|
||||
custom addressbook fr Personnalisé
|
||||
custom fields addressbook fr Champs personnalisés
|
||||
cyrus imap server admin fr Serveur Cyrus IMAP
|
||||
data admin fr Données
|
||||
day admin fr Jour
|
||||
day of week<br>(0-6, 0=sun) admin fr Jour de la semaine<br>(0-6, 0=Dim)
|
||||
db backup and restore admin fr Sauvegarde et restauration de la BDD
|
||||
debug output in browser addressbook fr Deboguer la sortie dans le navigateur
|
||||
default addressbook fr Défaut
|
||||
default addressbook for adding contacts addressbook fr Carnet d'adresses par défaut pour l'ajout de contacts
|
||||
default file system space per user admin fr Espace disque par utilisateur (par défaut)
|
||||
default file system space per user/group ? admin fr Espace disque par utilisateur/groupe (par défaut) ?
|
||||
default filter addressbook fr Filtre par défaut
|
||||
deinstall crontab admin fr Désinstaller le crontab
|
||||
delete a single entry by passing the id. addressbook fr Effacer une seule entrée en passant l'ID.
|
||||
delete account admin fr Supprimer le compte
|
||||
delete all records admin fr Supprimer tous les enregistrements
|
||||
delete application admin fr Supprimer l'application
|
||||
delete category admin fr Supprimer catégorie
|
||||
delete group admin fr Supprimer groupe
|
||||
delete peer server admin fr Supprimer serveur Pair
|
||||
delete selected distribution list! addressbook fr Effacer la liste de distribution sélectionnée!
|
||||
delete the category admin fr Supprimer la catégorie
|
||||
delete the group admin fr Supprimer le groupe
|
||||
delete this category admin fr Supprimer cette catégorie
|
||||
delete this contact addressbook fr Supprimer ce contact
|
||||
delete this group admin fr Supprimer ce groupe
|
||||
delete this organisation including all its contacts addressbook fr Détruire cette organisation et tous ses contacts
|
||||
delete this user admin fr Supprimer cet utilisateur
|
||||
deleted addressbook fr supprimé
|
||||
deletes the photo addressbook fr Supprime la photo
|
||||
deletes this field admin fr Supprimer ce champ
|
||||
deliver extern admin fr Envoi externe
|
||||
deny access to access log admin fr Refuser l'accès au log d'accès
|
||||
deny access to application registery admin fr Refuser l'accès à l'enregistrement d'applications
|
||||
deny access to applications admin fr Refuser l'accès aux applications
|
||||
deny access to asynchronous timed services admin fr Refuser l'accès aux services asynchrones
|
||||
deny access to current sessions admin fr Refuser l'accès aux sessions en cours
|
||||
deny access to db backup and restore admin fr Refuser l'accès à Sauvegarde et restauration de la BDD
|
||||
deny access to error log admin fr Refuser l'accès à la log d'erreurs
|
||||
deny access to global categories admin fr Refuser l'accès aux catégories globales
|
||||
deny access to groups admin fr Refuser l'accès aux groupes
|
||||
deny access to mainscreen message admin fr Refuser l'accès au message de la page principale
|
||||
deny access to peer servers admin fr Refuser l'accès aux serveurs pairs
|
||||
deny access to phpinfo admin fr Refuser l'accès à phpinfo
|
||||
deny access to site configuration admin fr Refuser l'accès à la configuration du site
|
||||
deny access to user accounts admin fr Refuser l'accès aux comptes utilisateurs
|
||||
deny all users access to grant other users access to their entries ? admin fr Les utilisateurs ne peuvent permettre aux autres l'accès à leurs données ?
|
||||
department common fr Département
|
||||
departments addressbook fr départements
|
||||
description can not exceed 255 characters in length ! admin fr La description ne peut dépasser 255 caractères de long !
|
||||
determines the order the fields are displayed admin fr Détermine l'ordre d'afficahge des champs
|
||||
disable "auto completion" of the login form admin fr Désactiver "remplissage auto" dans le formulaire de login
|
||||
disable wysiwyg-editor admin fr désactiver l'éditeur WYSIWYG
|
||||
disabled (not recomended) admin fr désactivé (pas recommandé)
|
||||
display admin fr Afficher
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook fr Affiche un rappel pour les anniversaires sur la page d'accueil (page qui s'affiche quand vous entrez dans eGroupWare ou quand vous cliquez sur l'icône Accueil)
|
||||
distribution list deleted addressbook fr La liste de distribution est supprimée
|
||||
distribution lists addressbook fr Listes de distribution
|
||||
do not delete the category and return back to the list admin fr Ne PAS supprimer la catégorie et retourner à la liste
|
||||
do you also want to delete all global subcategories ? admin fr Voulez-vous aussi supprimer toutes les sous-catégories globales ?
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook fr Voulez vous un carnet d'adresse privé qui ne pourra être vu par les autres utilisateurs sauf si vous modifiez les autorisations ?
|
||||
do you want to delete all global subcategories ? admin fr Voulez-vous supprimer toutes les sous-catégories globales ?
|
||||
do you want to move all global subcategories one level down ? admin fr Voulez-vous déplacer toutes les sous-catégories globales un niveau plus bas ?
|
||||
do your really want to delete this contact? addressbook fr Voulez vous vraiment supprimer ce contact?
|
||||
doesn't matter addressbook fr sans importance
|
||||
domestic addressbook fr Domestique
|
||||
don't hide empty columns addressbook fr Ne pas cacher les colonnes vides
|
||||
download addressbook fr Télécharger
|
||||
download export file (uncheck to debug output in browser) addressbook fr Télécharger le fichier d'exportation (Décocher pour deboguer la sortie dans le navigateur)
|
||||
download this contact as vcard file addressbook fr Téléchargez ce contact comme un fichier vCard
|
||||
each value is a line like <id>[=<label>] admin fr Chaque valeur est une ligne comme <id>[=<label>]
|
||||
each value is a line like id[=label] admin fr Chaque valeur est une ligne comme id[=<label>]
|
||||
edit account admin fr Modifier le compte
|
||||
edit application admin fr Modifier l'application
|
||||
edit custom field addressbook fr Editer le champ personnalisé
|
||||
edit custom fields admin fr Editer les champs personnalisés
|
||||
edit email settings admin fr paramétrage email
|
||||
edit extra account-data in the addressbook admin fr Editer les données supplémentaires dans le carnet d'adresse
|
||||
edit global category admin fr Modifier la catégorie globale
|
||||
edit global category for %1 admin fr Modifier la catégorie globale pour %1
|
||||
edit group admin fr Modifier le groupe
|
||||
edit group acl's admin fr modifier les autorisations d'accès du groupe (ACL)
|
||||
edit login screen message admin fr Modifier le message de l'écran de connexion
|
||||
edit main screen message admin fr Modifier le message de l'écran principal
|
||||
edit peer server admin fr Modifier le Serveur Pair
|
||||
edit phonenumbers - addressbook fr Editer les numéros de téléphone -
|
||||
edit table format admin fr Modifier le format de la table
|
||||
edit this category admin fr Modifier cette catégorie
|
||||
edit this group admin fr Modifier ce groupe
|
||||
edit this user admin fr Modifier cet utilisateur
|
||||
edit user admin fr Modifier l'utilisateur
|
||||
edit user account admin fr Modifier le compte de l'utilisateur
|
||||
email & internet addressbook fr Email & Internet
|
||||
email account active admin fr compte de messagerie actif
|
||||
email address admin fr adresse email
|
||||
empty for all addressbook fr vide pour tous
|
||||
enable an extra private addressbook addressbook fr Activer un carnet d'adresses privé supplémentaire
|
||||
enable debug-messages admin fr Activer les messages de déboguage
|
||||
enable the soap service admin fr Activer le service soap
|
||||
enable the xmlrpc service admin fr Activer le service xmlrp
|
||||
enabled - hidden from navbar admin fr Activé - caché de la barre de navigation
|
||||
enabled - popup window admin fr Activé - Fenêtre popup
|
||||
enter a description for the category admin fr Entrez une description pour la catégorie
|
||||
enter some random text for app_session <br>encryption (requires mcrypt) admin fr Entrez un texte au hasard pour le <br>chiffrement de l'app_session (nécessite mcrypt)
|
||||
enter the background color for the login page admin fr Entrez la couleur de fond pour la page de connexion
|
||||
enter the background color for the site title admin fr Entrez la couleur de fond pour le titre du site
|
||||
enter the full path for temporary files.<br>examples: /tmp, c:\temp admin fr Entrez le chemin complet pour les fichiers temporaires.<br>Exemples: /tmp, c:\temp
|
||||
enter the full path for temporary files.<br>examples: /tmp, c:temp admin fr Entrez le chemin complet pour les fichiers temporaires.<br>Exemples: /tmp, c:\temp
|
||||
enter the full path for users and group files.<br>examples: /files, e:\files admin fr Entrez le chemin complet pour les fichiers de utilisateurs et groupes.<br>Exemples: /files, e:\files
|
||||
enter the full path for users and group files.<br>examples: /files, e:files admin fr Entrez le chemin complet pour les fichiers de utilisateurs et groupes.<br>Exemples: /files, e:\files
|
||||
enter the hostname of the machine on which this server is running admin fr Entrez le nom de la machine sur laquelle ce serveur s'exécute
|
||||
enter the location of egroupware's url.<br>example: http://www.domain.com/egroupware or /egroupware<br><b>no trailing slash</b> admin fr Entrez l'emplacement de l'URL eGroupWare.<br>Exemple: http://www.domaine.com/egroupware ou /egroupware<br><b>Pas de division (/) à la fin</b>
|
||||
enter the path to the exported file here addressbook fr Entrer ici le chemin vers le fichier exporté
|
||||
enter the search string. to show all entries, empty this field and press the submit button again admin fr Entrez la chaîne de recherche. Pour montrer toutes les entrées, videz ce champ et recliquez sur le bouton SOUMETTRE
|
||||
enter the site password for peer servers admin fr Entrez le mot de passe du site pour les serveurs pairs
|
||||
enter the site username for peer servers admin fr Entrez le nom d'utilisateur du site pour les serveurs pairs
|
||||
enter the title for your site admin fr Entrez le titre pour votre site
|
||||
enter the title of your logo admin fr Entrez le titre de votre logo
|
||||
enter the url or filename (in phpgwapi/templates/default/images) of your logo admin fr Entrez l'URL ou le fichier pour votre logo (dans phpgwapi/templates/default/images)
|
||||
enter the url where your logo should link to admin fr Entrez l'URL vers laquelle votre logo doit rediriger
|
||||
enter your default ftp server admin fr Entrez votre serveur FTP par défaut
|
||||
enter your default mail domain ( from: user@domain ) admin fr Entrez votre domaine de messagerie par défaut (De: utilisateur@domaine)
|
||||
enter your http proxy server admin fr Entrez votre serveur proxy HTTP
|
||||
enter your http proxy server port admin fr Entrez le port de votre serveur proxy HTTP
|
||||
enter your smtp server hostname or ip address admin fr Entrez votre nom de serveur SMTP ou adresse IP
|
||||
enter your smtp server port admin fr Entrez le port de votre serveur SMTP
|
||||
error canceling timer, maybe there's none set !!! admin fr Erreur en annulant le timer, peut-être qu'il n'y en a aucun de défini !!!
|
||||
error deleting the contact !!! addressbook fr Erreur lors de la suppresion du contact
|
||||
error saving the contact !!! addressbook fr Erreur lors de la sauvegarde du contact
|
||||
error setting timer, wrong syntax or maybe there's one already running !!! admin fr Erreur en créant le timer, erreur de syntaxe ou peut-être il y en a déjà un qui tourne !!!
|
||||
error! no appname found admin fr Erreur : pas de nom d'application trouvé !
|
||||
error: %1 not found or other error !!! admin fr Erreur: %1 introuvable ou autre erreur !!!
|
||||
existing links addressbook fr Liens existants
|
||||
expires admin fr Expire
|
||||
explanation of ldapman admin fr Ce module a été testé avec POSTFIX, LDAP, Courier-IMAP et nécessite les schémas CORE et QMAIL (OID7914). Des informations supplémentaires pour configurer ce système sont disponibles dans le fichier README.ldap du répertoire ADMIN.
|
||||
export addressbook fr Exporter
|
||||
export as csv addressbook fr Exporter au format CSV
|
||||
export as vcard addressbook fr Export au format VCard
|
||||
export contacts addressbook fr Exporter les contacts
|
||||
export file name addressbook fr Nom du fichier d'exportation
|
||||
export from addressbook addressbook fr Exporter depuis le carnet d'adresses
|
||||
export selection addressbook fr Sélection pour l'exportation
|
||||
exported addressbook fr exporté
|
||||
extra addressbook fr Supplément
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook fr Echec du changement des membres de l'organisation %1 (droits insufisants).
|
||||
fallback (after each pageview) admin fr retour au défaut (après chaque prévisualisation)
|
||||
fax addressbook fr Fax
|
||||
fax number common fr Numéro de Fax
|
||||
field %1 has been added ! addressbook fr Le champ %1 a été ajouté !
|
||||
field %1 has been updated ! addressbook fr Le champ %1 a été mis à jour !
|
||||
field '%1' already exists !!! admin fr Le Champ '%1' existe déjà !
|
||||
field name addressbook fr Nom du champ
|
||||
fields for the csv export addressbook fr Champ pour l'exportation au format CSV
|
||||
fields the user is allowed to edit himself admin fr Champs que l'utilisateur peut modifier lui-même
|
||||
fields to show in address list addressbook fr Champs à afficher dans la liste des adresses
|
||||
fieldseparator addressbook fr Séparateur de champ
|
||||
file space admin fr Espace fichiers
|
||||
file space must be an integer admin fr La valeur Espace fichiers doit être un entier
|
||||
find and register all application hooks admin fr Trouver et inscrire tous les dépendances
|
||||
for read only ldap admin fr pour un LDAP en lecture seule
|
||||
for the times above admin fr pour le timing ci-dessus
|
||||
for the times below (empty values count as '*', all empty = every minute) admin fr pour le timing ci-dessous (valeurs vides comptent comme '*', tout vide = chaque minute)
|
||||
force selectbox admin fr Forcer la boite de sélection
|
||||
forward also to admin fr Transférer également à
|
||||
forward emails to admin fr Transférer le emails à
|
||||
forward only admin fr Transférer seulement à
|
||||
freebusy uri addressbook fr Freebusy URI
|
||||
full name addressbook fr Nom complet
|
||||
general addressbook fr Général
|
||||
geo addressbook fr GEO
|
||||
global categories addressbook fr Catégorie globale
|
||||
grant addressbook access common fr Donner l'accès au Carnet d'adresses
|
||||
group %1 addressbook fr Groupe %1
|
||||
group ? admin fr Groupe ?
|
||||
group has been added common fr Le groupe a été ajouté
|
||||
group has been deleted common fr Le groupe a été effacé
|
||||
group has been updated common fr Le groupe a été mis à jour
|
||||
group list admin fr Liste des groupes
|
||||
group manager admin fr Gestionnaire de groupe
|
||||
group name admin fr Nom du groupe
|
||||
hide php information admin fr Cacher les informations sur php
|
||||
home address addressbook fr Adresse (domicile)
|
||||
home address, birthday, ... addressbook fr Adresse (domicile), Anniversaire, ...
|
||||
home city addressbook fr Ville (domicile)
|
||||
home country addressbook fr Pays (domicile)
|
||||
home directory admin fr Répertoire maison
|
||||
home email addressbook fr EMail (domicile)
|
||||
home phone addressbook fr Téléphone (domicile)
|
||||
home state addressbook fr Région (domicile)
|
||||
home street addressbook fr Rue (domicile)
|
||||
home zip code addressbook fr Code postal (domicile)
|
||||
host information admin fr Informations sur l'hôte
|
||||
hour<br>(0-23) admin fr Heure<br>(0-23)
|
||||
how many days should entries stay in the access log, before they get deleted (default 90) ? admin fr Pendant combien de jours les entrées doivent-elles rester dans la log d'accès, avant d'être effacées (90 par défaut) ?
|
||||
how many minutes should an account or ip be blocked (default 30) ? admin fr Pendant combien de minutes un compte ou une adresse IP doit-il(elle) être bloqué(e) (30 par défaut) ?
|
||||
how should email addresses for new users be constructed? admin fr Comment former les adresses de messagerie des nouveaux utilisateurs ?
|
||||
icon addressbook fr Icône
|
||||
idle admin fr Disponible
|
||||
if accounts are already in ldap admin fr si les comptes sont déjà dans LDAP
|
||||
if no acl records for user or any group the user is a member of admin fr Si pas d'enregistrements dans les droits d'accès pour l'utilisateur ou n'importe quel groupe, l'utilisateur est membre de
|
||||
if using ldap, do you want to manage homedirectory and loginshell attributes? admin fr Si vous utilisez LDAP, voulez-vous gérer les attributs répertoire maison et shell de connexion?
|
||||
import addressbook fr Importer
|
||||
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 outlook addressbook fr Importer depuis Outlook
|
||||
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.
|
||||
in %1 days (%2) is %3's birthday. addressbook fr Dans %1 jours (%2) c'est l'anniversaire de %3.
|
||||
in mbyte admin fr en Moctet
|
||||
inbound admin fr Entrant
|
||||
income addressbook fr Revenus
|
||||
initial admin fr Initial
|
||||
install crontab admin fr Installer le crontab
|
||||
installed applications common fr Applications installées
|
||||
installed crontab admin fr Crontab installée
|
||||
insufficent rights to delete this list! addressbook fr Autorisations insuffisantes pour supprimer cette liste!
|
||||
interface admin fr Interface
|
||||
international addressbook fr International
|
||||
ip admin fr IP
|
||||
jobs admin fr Travaux
|
||||
kill admin fr Tuer
|
||||
kill session admin fr Tuer la session
|
||||
label addressbook fr Label
|
||||
last %1 logins admin fr Dernières %1 connexions
|
||||
last %1 logins for %2 admin fr Dernières %1 connexions pour %2
|
||||
last login admin fr Dernière connexion
|
||||
last login from admin fr Dernière connexion depuis
|
||||
last modified addressbook fr Dernière modification
|
||||
last modified by addressbook fr Dernière modification par
|
||||
last time read admin fr Dernière lecture
|
||||
ldap accounts context admin fr Contexte comptes LDAP
|
||||
ldap context for contacts admin fr Contexte LDAP pour les contacts
|
||||
ldap default homedirectory prefix (e.g. /home for /home/username) admin fr Préfixe par défaut des répertoires d'accueil LDAP (p.ex. /home pour /home/utilisateur)
|
||||
ldap default shell (e.g. /bin/bash) admin fr Shell par défaut LDAP (p.ex. /bin/bash)
|
||||
ldap encryption type admin fr Type de chiffrement LDAP
|
||||
ldap groups context admin fr Contexte des groupes LDAP
|
||||
ldap host admin fr Hôte LDAP
|
||||
ldap host for contacts admin fr Hôte LDAP pour les contacts
|
||||
ldap root password admin fr Mot de passe root LDAP
|
||||
ldap rootdn admin fr Rootdn LDAP
|
||||
ldap settings for contacts admin fr configuration LDAP pour les contacts
|
||||
ldif addressbook fr LDIF
|
||||
leave empty for no quota admin fr Laisser vide pour ne pas avoir de quota
|
||||
leave the category untouched and return back to the list admin fr Laisser la catégorie telle quelle et retourner à la liste
|
||||
leave the group untouched and return back to the list admin fr Laisser le groupe tel quel et retourner à la liste
|
||||
leaves without saveing admin fr Quitter sans enregistrer
|
||||
length<br>rows admin fr Longueur<br>lignes
|
||||
line 2 addressbook fr Ligne 2
|
||||
link title for contacts show addressbook fr Le titre du lien pour les contacts montre
|
||||
links 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 config settings admin fr Afficher les paramètres de configuration
|
||||
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 current sessions admin fr Afficher les sessions en cours
|
||||
list of current users admin fr liste des utilisateurs en cours
|
||||
load vcard addressbook fr Charger VCard
|
||||
locations addressbook fr localisations
|
||||
login history common fr Historique de connexion
|
||||
login message admin fr Message d'accueil
|
||||
login screen admin fr Ecran de connexion
|
||||
login shell admin fr Shell de connexion
|
||||
login time admin fr Heure de connexion
|
||||
loginid admin fr Identifiant de l'utilisateur
|
||||
mail settings admin fr Réglages mail
|
||||
main email-address admin fr Adresse email principale
|
||||
main screen message admin fr Message de l'écran principal
|
||||
manager admin fr Gestionnaire
|
||||
mark records as private addressbook fr Marquer l´enregistrement comme privé
|
||||
max length of the input [, length of the inputfield (optional)] admin fr Longueur maximum de l'entrée [, longueur du champ de saisi (optionnel)]
|
||||
maximum account id (e.g. 65535 or 1000000) admin fr Numéro de compte maximum (p.e. 65535 ou 1000000)
|
||||
maximum entries in click path history admin fr Nombre maximal d'entrées dans l'historique des clics sur les liens
|
||||
merge into first or account, deletes all other! addressbook fr Fusion avec le premier compte, efface tous les autres!
|
||||
merged addressbook fr fusionné
|
||||
message has been updated admin fr le message a été mis à jour
|
||||
message phone addressbook fr Message téléphonique
|
||||
method admin fr Méthode
|
||||
middle name addressbook fr Deuxième prénom
|
||||
migration finished addressbook fr Migration terminée
|
||||
migration to ldap admin fr Migration vers LDAP
|
||||
minimum account id (e.g. 500 or 100, etc.) admin fr Numéro de compte minimum (p.e. 500 ou 100, etc.)
|
||||
minute admin fr Minute
|
||||
mobile addressbook fr Portable
|
||||
mobile phone addressbook fr Téléphone portable
|
||||
mode admin fr Mode
|
||||
modem phone addressbook fr Téléphone modem
|
||||
month admin fr Mois
|
||||
more ... addressbook fr Plus ...
|
||||
move to addressbook: addressbook fr Aller vers le carnet d'adresses
|
||||
moved addressbook fr déplacé(s)
|
||||
multiple vcard addressbook fr VCard multiples
|
||||
name for the distribution list addressbook fr Nom de la liste de distribution
|
||||
name must not be empty !!! admin fr Le nom ne doit pas être vide !
|
||||
name, address addressbook fr Nom, Adresse
|
||||
new group name admin fr Nouveau nom de groupe
|
||||
new name admin fr Nouveau nom
|
||||
new password [ leave blank for no change ] admin fr Nouveau mot de passe [ Laisser vide pour aucun changement ]
|
||||
next run admin fr Prochain démarrage
|
||||
no algorithms available admin fr Pas d'algorithme disponible
|
||||
no alternate email address admin fr Pas d'adresse email alternative
|
||||
no jobs in the database !!! admin fr Pas de travaux dans la base de données !!!
|
||||
no login history exists for this user admin fr Aucun historique de connexion n'existe pour cet utilisateur
|
||||
no matches found admin fr Aucune occurrence trouvée
|
||||
no modes available admin fr Pas de modes disponibles
|
||||
no permission to add groups admin fr Aucune permission pour ajouter des groupes
|
||||
no permission to add users admin fr Aucune permission pour ajouter des utilisateurs
|
||||
no permission to create groups admin fr Aucune permission pour créer des groupes
|
||||
no vcard addressbook fr Pas de VCard
|
||||
note: ssl available only if php is compiled with curl support admin fr Note: SSL disponible si PHP est compilé avec le support de CURL
|
||||
number addressbook fr Numéro
|
||||
number of records to read (%1) addressbook fr Nombre d'enregistrements à lire (%1)
|
||||
number of row for a multiline inputfield or line of a multi-select-box admin fr Nombre de lignes pour un champ multiligne ou pour une boîte de sélection multiple.
|
||||
options for type admin fr Options pour le type
|
||||
order admin fr Ordre
|
||||
organisation addressbook fr organisation
|
||||
organisations addressbook fr Organisations
|
||||
organisations by departments addressbook fr Organisations par département
|
||||
organisations by location addressbook fr Organisations par localisation
|
||||
other number addressbook fr Autre Numéro
|
||||
other phone addressbook fr Autre Téléphone
|
||||
outbound admin fr sortant
|
||||
own sorting addressbook fr tri personnalisé
|
||||
pager common fr Pager
|
||||
parcel addressbook fr Paquet
|
||||
passthrough admin fr passage
|
||||
password for smtp-authentication admin fr Mot de passe pour l'authentification SMTP
|
||||
path information admin fr Information sur le chemin
|
||||
peer server list admin fr Liste des serveurs (peer servers)
|
||||
peer servers admin fr Serveurs pairs
|
||||
percent of users that logged out admin fr Pourcentage des utilisateurs qui se sont déconnectés
|
||||
percent this user has logged out admin fr Pourcentage de déconnexion de cet utilisateur
|
||||
permission denied admin fr Permission refusée
|
||||
permission denied !!! addressbook fr Autorisation refusée !!!
|
||||
permissions admin fr Permissions
|
||||
permissions this group has admin fr Permissions attribuées à ce groupe
|
||||
phone number common fr Numéro de téléphone
|
||||
phone numbers common fr Numéros de téléphone
|
||||
photo addressbook fr Photo
|
||||
phpinfo admin fr Informations PHP
|
||||
please enter a name admin fr SVP entrez un nom
|
||||
please enter a name for that field ! addressbook fr SVP entrez un nom pour ce champ !
|
||||
please enter a name for that server ! admin fr SVP entrez un nom pour ce serveur !
|
||||
please run setup to become current admin fr SVP exécutez setup pour vous mettre à jour
|
||||
please select admin fr SVP choisissez
|
||||
please select only one category addressbook fr Sélectionnez une seule catégorie !
|
||||
postal common fr Postal
|
||||
postfix with ldap admin fr Postfix avec support LDAP
|
||||
pref addressbook fr pref
|
||||
preferences admin fr Préférences
|
||||
preferred phone addressbook fr Numéro de téléphone préférentiel
|
||||
prefix addressbook fr Préfixe
|
||||
primary group admin fr groupe initial
|
||||
public key addressbook fr Clé publique
|
||||
publish into groups: addressbook fr Publié dans les groupes:
|
||||
qmaildotmode admin fr qmaildotmode
|
||||
quota settings admin fr Paramétrage des quotas
|
||||
quota size in mbyte admin fr Taille des quota en Mo
|
||||
re-enter password admin fr Entrez le mot de passe à nouveau
|
||||
read a list / search for entries. addressbook fr Lire une liste / rechercher des entrées.
|
||||
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
|
||||
read this list of methods. admin fr Lisez cette liste de méthodes.
|
||||
record access addressbook fr Enregistrer l'accès
|
||||
record owner addressbook fr Enregistrer le propriétaire
|
||||
register application hooks admin fr Inscrire les dépendances
|
||||
remove admin fr Supprimer
|
||||
remove all users from this group admin fr Retirer tous les utilisateurs de ce groupe
|
||||
remove all users from this group ? admin fr Retirer tous les utilisateurs de ce groupe ?
|
||||
remove selected contacts from distribution list addressbook fr Retirer les contacts sélectionnés de la liste de distribution
|
||||
removed from distribution list addressbook fr retiré de la liste de distribution
|
||||
return to admin mainscreen admin fr Revenir à l'écran principal d'administration
|
||||
return to view account admin fr Revenir à l'affichage du compte
|
||||
role addressbook fr Rôle
|
||||
room addressbook fr Salle
|
||||
route all mails to admin fr Livrer tous les emails à
|
||||
run asynchronous services admin fr Exécuter les Services asynchrones
|
||||
save the category admin fr Enregistrer la catégorie
|
||||
save the category and return back to the list admin fr Enregistrer la catégorie et retourner à la liste
|
||||
saves the changes made and leaves admin fr Enregistrer les modifications et quitter
|
||||
search accounts admin fr Chercher des comptes
|
||||
search categories admin fr Chercher des catégories
|
||||
search for '%1' addressbook fr Recherche de '%1'
|
||||
search groups admin fr Chercher des groupes
|
||||
search peer servers admin fr Chercher des serveurs Pairs
|
||||
security admin fr Sécurité
|
||||
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 view addressbook fr Sélectionnez une vue
|
||||
select addressbook type addressbook fr Sélectionnez un type de carnet d'adresse
|
||||
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 group managers admin fr Sélectionner les gestionnaires de groupe
|
||||
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 permissions this group will have admin fr Choisissez les permissions que ce groupe va avoir
|
||||
select phone number as prefered way of contact addressbook fr sélectionner le téléphone comme moyen de contact préféré
|
||||
select the parent category. if this is a main category select no category admin fr Choisissez la catégorie parente. Si ceci est une catégorie principale choisissez PAS DE CATEGORIE
|
||||
select the type of conversion addressbook fr Sélectionner le type de convertion
|
||||
select the type of conversion: addressbook fr Sélectionner le type de convertion:
|
||||
select users for inclusion admin fr Choisissez les utilisateurs à inclure
|
||||
select where you want to store / retrieve contacts admin fr Sélectionnez où vous voulez stocker / récupérer les contacts
|
||||
select where you want to store/retrieve filesystem information admin fr Choisissez où vous voulez stocker/récupérer les informations sur les systèmes de fichiers
|
||||
select where you want to store/retrieve user accounts admin fr Choisissez où vous voulez stocker/récupérer les comptes utilisateurs
|
||||
select which location this app should appear on the navbar, lowest (left) to highest (right) admin fr Choisissez à quel endroit cette application devra apparaître dans la barre de navigation, du plus bas (ou à gauche) au plus haut (ou à droite)
|
||||
selectbox admin fr Boite de sélection
|
||||
selected contacts addressbook fr contacts choisis
|
||||
server %1 has been updated admin fr Le serveur %1 a été mis à jour
|
||||
server list admin fr Liste de serveurs
|
||||
server password admin fr Mot de passe du serveur
|
||||
server type(mode) admin fr Type de serveur (mode)
|
||||
server url admin fr URL du serveur
|
||||
server username admin fr Nom d'utilisateur du serveur
|
||||
set preference values. admin fr Régler les valeurs des préférences.
|
||||
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.
|
||||
should the login page include a language selectbox (useful for demo-sites) ? admin fr Est-ce que la page de login doit inclure une zone de sélection linguistique (utile aussi pour les sites de démonstration)
|
||||
show addressbook fr Montre
|
||||
show 'powered by' logo on admin fr Montrer le logo 'motorisé par' sur
|
||||
show access log admin fr Montrer les journaux d'accès
|
||||
show birthday reminders on main screen addressbook fr Montrer les rappels d'anniversaires sur la page principale
|
||||
show current action admin fr Montrer les actions en cours
|
||||
show error log admin fr Montrer le journal des erreurs
|
||||
show infolog entries for this organisation addressbook fr Montre les entrées InfoLog pour cette organisation
|
||||
show phpinfo() admin fr Montrer phpinfo()
|
||||
show session ip address admin fr Montrer les adresses IP des sessions
|
||||
show the contacts of this organisation addressbook fr Montrer les contacts de l'organisation
|
||||
site admin fr Site
|
||||
site configuration common fr Configuration du site
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin fr Taille du popup (LxH, p.ex.400x300, si un popup doit être utilisé)
|
||||
soap admin fr SOAP
|
||||
sorry, that group name has already been taken. admin fr Désolé, ce nom de groupe existe déjà.
|
||||
sorry, the above users are still a member of the group %1 admin fr Désolé, les utilisateurs ci-dessus sont toujours membre du groupe %1
|
||||
sorry, the follow users are still a member of the group %1 admin fr Désolé, les utilisateurs suivants sont encore membres de ce groupe %1
|
||||
sort the entries admin fr Trier les entrées
|
||||
ssl admin fr ssl
|
||||
standard admin fr standard
|
||||
standard imap server admin fr Serveur IMAP standard
|
||||
standard pop3 server admin fr Serveur POP3 standard
|
||||
standard smtp-server admin fr Serveur SMTP standard
|
||||
start admin fr Début
|
||||
start testjob! admin fr Démarrer le Travail de test!
|
||||
startrecord addressbook fr Enregistrement de départ
|
||||
state common fr Région
|
||||
street common fr Rue
|
||||
submit changes admin fr Soumettre les changements
|
||||
submit the search string admin fr Soumettre la chaîne de recherche
|
||||
subtype admin fr Sous-type
|
||||
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
|
||||
tel home addressbook fr tel maison
|
||||
telephony integration admin fr Intégration téléphonique
|
||||
template selection admin fr Sélection du style
|
||||
test import (show importable records <u>only</u> in browser) addressbook fr Tester l'import (montrer <u>seulement</u> les enregistrements importables dans le navigateur)
|
||||
text entry admin fr Entrée de texte
|
||||
that application name already exists. admin fr Ce nom d'application existe déjà.
|
||||
that application order must be a number. admin fr Cet ordre d'application doit être un nombre.
|
||||
that field name has been used already ! addressbook fr Ce nom de champ a déjà été utilisé !
|
||||
that loginid has already been taken admin fr Ce LoginID a déjà été pris
|
||||
that name has been used already admin fr Ce nom a déjà été utilisé
|
||||
that server name has been used already ! admin fr Ce nom de serveur a déjà été utilisé !
|
||||
the api is current admin fr L'API est à jour
|
||||
the api requires an upgrade admin fr L'API nécessite une mise à jour
|
||||
the groups must include the primary group admin fr Les groupes doivent inclure le groupe primaire
|
||||
the login and password can not be the same admin fr Le login et le mot de passe ne peuvent être identiques
|
||||
the loginid can not be more then 8 characters admin fr Le loginid ne peut pas être composé de plus de 8 caractères
|
||||
the name used internaly (<= 20 chars), changeing it makes existing data unavailible admin fr Nom utilisé en interne (<= 20 caractères), le changer rendra certaines données inaccessibles.
|
||||
the testjob sends you a mail everytime it is called. admin fr Le Travail de test vous envoie un mail chaque fois qu'il est appelé.
|
||||
the text displayed to the user admin fr le texte montré à l'utilisateur
|
||||
the two passwords are not the same admin fr Les deux mots de passe ne sont pas identiques
|
||||
the users bellow are still members of group %1 admin fr Les utilisateurs ci-dessous sont encore membres du groupe %1
|
||||
there already is a group with this name. userid's can not have the same name as a groupid admin fr Il y a déjà un groupe portant ce nom. Les noms de comptes ne peuvent pas avoir le même nom qu'un nom de groupe
|
||||
they must be removed before you can continue admin fr Ceux-ci doivent être retirés avant que vous ne puissiez continuer
|
||||
this application is current admin fr Cette application est à jour
|
||||
this application requires an upgrade admin fr Cette application nécessite une mise à jour
|
||||
this category is currently being used by applications as a parent category admin fr Cette catégorie est actuellement utilisée par des applications comme une catégorie parente
|
||||
this person's first name was not in the address book. addressbook fr Le prénom de cette personne n'était pas dans le carnet d'adresses.
|
||||
this person's last name was not in the address book. addressbook fr Le nom de cette personne n'était pas dans le carnet d'adresses.
|
||||
timeout for application session data in seconds (default 86400 = 1 day) admin fr Expiration pour les données session de l'application en secondes (par défaut 86400 = 1 jour)
|
||||
timeout for sessions in seconds (default 14400 = 4 hours) admin fr Expiration pour les sessions en secondes (par défaut 14400 = 4 heures)
|
||||
times admin fr Heures
|
||||
timezone addressbook fr Fuseau horaire
|
||||
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.
|
||||
top admin fr Haut
|
||||
total records admin fr Enregistrements totaux
|
||||
translation addressbook fr Traduction
|
||||
trust level admin fr Niveau de confiance
|
||||
trust relationship admin fr Relation de confiance
|
||||
type addressbook fr Type
|
||||
type '%1' already exists !!! admin fr Le type '%1' existe déjà !
|
||||
type of customfield admin fr Type de champ personnalisé
|
||||
under windows you need to install the asyncservice %1manually%2 or use the fallback mode. fallback means the jobs get only checked after each page-view !!! admin fr Sous windows vous devez installer les services asynchrones %1manuellement%2 ou utiliser le mode "fallback". "Fallback" veut dire que les travaux ne sont vérifiés qu'après chaque affichage de page !!!
|
||||
update a single entry by passing the fields. addressbook fr Mettre à jour une seule entrée en passant les champs.
|
||||
upload or delete the photo addressbook fr Envoyez ou supprimez la photo
|
||||
use an extra category tab? addressbook fr Utiliser un onglet supplémentaire pour la catégorie?
|
||||
use cookies to pass sessionid admin fr Utiliser les cookies pour passer l'ID de session
|
||||
use country list addressbook fr Utiliser la liste des pays
|
||||
use pure html compliant code (not fully working yet) admin fr Utiliser du code HTML standard (ne fonctionne pas encore complètement)
|
||||
use setup for a full account-migration admin fr utiliser le setup pour une migration de comptes complète
|
||||
use theme admin fr Utiliser le thème
|
||||
used for links and for the own sorting of the list addressbook fr utilisé pour les liens et le tri de la liste
|
||||
user accounts admin fr Comptes utilisateurs
|
||||
user data common fr Données utilisateurs
|
||||
user for smtp-authentication (leave it empty if no auth required) admin fr Utilisateur pour l'authentification SMTP (laisser vide si pas requis)
|
||||
user groups admin fr Groupes utilisateurs
|
||||
userdata admin fr Données utilisateur
|
||||
users choice admin fr Choix 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.
|
||||
view access log admin fr Afficher le journal d'accès
|
||||
view account admin fr Afficher le compte
|
||||
view category admin fr Afficher la catégorie
|
||||
view error log admin fr Afficher le journal d'erreurs
|
||||
view linked infolog entries addressbook fr Afficher les entrées liées à InfoLog
|
||||
view sessions admin fr Afficher les sessions
|
||||
view this user admin fr Afficher cet utilisateur
|
||||
view user account admin fr Afficher le compte utilisateur
|
||||
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!
|
||||
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!
|
||||
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.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook fr Quel jeu de caractères faut-il utiliser pour l'exportation CSV. Le paramétrage par défaut est celui utilisé lors de l'installation d'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 fr Quels champs doivent être exportés. Tous signifie que les champs personnalisés du carnet d'adresses sont inclus. Les adresses personnelles et professionelles contiennent seulement le nom la société et les adresses sélectionnées.
|
||||
who would you like to transfer all records owned by the deleted user to? admin fr A qui voudriez-vous tranférer tous les enregistrements appartenant à l'utilisateur effacé?
|
||||
whole query addressbook fr requête entière
|
||||
work phone addressbook fr Téléphone (bureau)
|
||||
would you like egroupware to cache the egw info array ? admin fr Voulez-vous qu'eGroupWare mette le tableau d'informations egw en cache ?
|
||||
would you like egroupware to check for a new version<br>when admins login ? admin fr Voulez-vous que eGroupWare vérifie les mises à jour<br>quand un administrateur se connecte ?
|
||||
would you like egroupware to check for new application versions when admins login ? admin fr Voudriez-vous que eGroupWare vérifie s'il y a de nouvelles versions d'applications quand les administrateurs se connectent ?
|
||||
would you like to automaticaly load new langfiles (at login-time) ? admin fr Voulez-vous automatiquement charger les nouveaux fichiers de langues (à la connexion) ?
|
||||
would you like to show each application's upgrade status ? admin fr Voudriez-vous montrer l'état de mise à jour de chaque application ?
|
||||
write (update or add) a single entry by passing the fields. addressbook fr Ecrivez (modifiez ou ajoutez) une entrée unique en passant les champs.
|
||||
xml-rpc admin fr XML-RPC
|
||||
yes, for the next three days addressbook fr Oui, pour les trois prochains jours
|
||||
yes, for the next two weeks addressbook fr Oui, pour les deux prochaines semaines
|
||||
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
|
||||
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 à éditer 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 have entered an invalid expiration date admin fr Vous avez entré une date d'expiration invalide
|
||||
you have to enter a name, to create a new field!!! admin fr Vous avez saisi un nom pour créer un nouveau champ!!!
|
||||
you have to enter a name, to create a new type!!! admin fr Vous avez saisi un nom pour créer un nouveau type!!!
|
||||
you must add at least 1 permission or group to this account admin fr Vous devez ajouter au moins 1 permission ou groupe à ce compte
|
||||
you must enter a group name. admin fr Vous devez entrer un nom de groupe
|
||||
you must enter a lastname admin fr Vous devez entrer un nom
|
||||
you must enter a loginid admin fr Vous devez entrer un loginid
|
||||
you must enter an application name and title. admin fr Vous devez entrer un nom d'application et un titre.
|
||||
you must enter an application name. admin fr Vous devez entrer un nom d'application.
|
||||
you must enter an application title. admin fr Vous devez entrer un titre d'application.
|
||||
you must select a file type admin fr Vous devez choisir un type de fichier
|
||||
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 must select at least one group member. admin fr Vous devez sélectionner au moins un membre de groupe.
|
||||
you need to select a distribution list addressbook fr Vous devez choisir une liste de distribution
|
||||
you need to select some contacts first addressbook fr Vous devez d'abord choisir les contacts
|
||||
you will need to remove the subcategories before you can delete this category admin fr Vous allez devoir enlever les sous-catégories avant de pouvoir effacer cette catégorie !
|
||||
your session could not be verified. admin fr Votre session n'a pas pu être vérifiée.
|
||||
zip code common fr Code postal
|
||||
zip_note addressbook fr <p><b>Note:</b> Le fichier peut être un fichier zip contenant une collection de fichiers .csv, .vcf ou .ldif. C´est pourquoi il est important de ne pas mélanger les types de fichiers lors de l'importation.
|
@ -1,199 +0,0 @@
|
||||
%1 records imported addressbook no %1 rekker importert
|
||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook no %1 rekker lest (ikke importert enda, du kan gå %2tilbake%3 og fjerne haken på Test Import.
|
||||
(e.g. 1969) addressbook no (eks. 1969)
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook no <b>Ingen oversettingstype <none> ble funnet.</b>Vennligst velg oversettingstype fra listen.
|
||||
@-eval() is only availible to admins!!! addressbook no @-eval() er kun tilgjengelig for admins!!!
|
||||
actions addressbook no Funksjoner
|
||||
add a single entry by passing the fields. addressbook no Legg til ett enkelt innslag ved å fylle inn feltene.
|
||||
add custom field addressbook no Legg til egendefinert felt
|
||||
address book common no Addressebok
|
||||
address book - vcard in addressbook no Adressebok - VCard inn
|
||||
address book - view addressbook no Adressebok - vis
|
||||
address line 2 addressbook no Adresse Linje 2
|
||||
address line 3 addressbook no Adresse Linke 3
|
||||
address type addressbook no Adressetype
|
||||
addressbook common no Adressebok
|
||||
addressbook preferences addressbook no Adressebok preferanser
|
||||
addressbook-fieldname addressbook no Adressebok-Feltnavn
|
||||
addvcard addressbook no Legg til VCard
|
||||
advanced search addressbook no Avansert søk
|
||||
alt. csv import addressbook no Alt. CSV Import
|
||||
are you shure you want to delete this contact? addressbook no Er du sikker på at du ønsker å slette denne kontakten?
|
||||
are you sure you want to delete this field? addressbook no Er du sikker du vil slette dette feltet?
|
||||
bbs phone addressbook no BBS Telefon
|
||||
birthday common no Fødselsdag
|
||||
birthdays common no Fødselsdager
|
||||
blank addressbook no Tom
|
||||
business common no Arbeid
|
||||
business address type addressbook no Adresse Type, Arbeid
|
||||
business city addressbook no By, Arbeid
|
||||
business country addressbook no Land, Arbeid
|
||||
business email addressbook no Epost, Arbeid
|
||||
business email type addressbook no Epost Type, Arbeid
|
||||
business fax addressbook no Telefaks, Arbeid
|
||||
business phone addressbook no Telefon, Arbeid
|
||||
business state addressbook no Fylke, Arbeid
|
||||
business street addressbook no Gate, Arbeid
|
||||
business zip code addressbook no Postkode, Arbeid
|
||||
car phone addressbook no Bil Telefon
|
||||
cell phone addressbook no Mobiltelefon
|
||||
charset of file addressbook no Karaktersett for filen
|
||||
choose an icon for this contact type addressbook no Velg et ikon for denne kontakttype
|
||||
chosse an etemplate for this contact type addressbook no Velg en emal for denne kontakttype
|
||||
city common no By
|
||||
company common no Firma
|
||||
company name common no Firmanavn
|
||||
configuration common no Konfigurasjon
|
||||
contact common no Kontakt
|
||||
contact application admin no Kontakt program
|
||||
contact saved addressbook no Kontakt lagret
|
||||
contact settings admin no Kontakt Innstillinger
|
||||
copied by %1, from record #%2. addressbook no Kopiert av %1, fra rekke #%2.
|
||||
country common no Land
|
||||
create new links addressbook no Opprette nye lenker
|
||||
credit addressbook no Krediter
|
||||
csv-fieldname addressbook no CSV-Feltnavn
|
||||
csv-filename addressbook no CSV-FIlnavn
|
||||
custom addressbook no Egendefinert
|
||||
custom fields addressbook no Egendefinerte Felter
|
||||
debug output in browser addressbook no Feilsøkingsmeldinger i webleser
|
||||
default filter addressbook no Standard Filter
|
||||
delete a single entry by passing the id. addressbook no Oppgi id for å slette ett enkelt innslag.
|
||||
department common no Avdeling
|
||||
do your really want to delete this contact? addressbook no Ønsker du virkelig å slette denne kontakten?
|
||||
doesn't matter addressbook no Spiller ingen rolle
|
||||
domestic addressbook no Innenlands
|
||||
download addressbook no Last ned
|
||||
download export file (uncheck to debug output in browser) addressbook no Last ned eksport fil (fjern hake for å se feilsøkingsinformasjon i webleser)
|
||||
download this contact as vcard file addressbook no Last ned kontakten som en vCard-fil
|
||||
edit custom field addressbook no Endre egendefinert felt
|
||||
edit custom fields admin no Endre egendefinerte felter
|
||||
edit phonenumbers - addressbook no Endre telefonnummere
|
||||
email & internet addressbook no E-mail og Internett
|
||||
empty for all addressbook no tom for alle
|
||||
enter the path to the exported file here addressbook no Skriv inn sti til den eksporterte filen her
|
||||
existing links addressbook no Eksisterende lenker
|
||||
export addressbook no Eksporter
|
||||
export contacts addressbook no Eksporter Kontakter
|
||||
export file name addressbook no Eksport filnavn
|
||||
export from addressbook addressbook no Eksport fra Adresseliste
|
||||
extra addressbook no Ekstra
|
||||
fax addressbook no Telefaks
|
||||
fax number common no Telefaks Nummer
|
||||
field %1 has been added ! addressbook no Felt %1 ble lagt til !
|
||||
field %1 has been updated ! addressbook no Felt %1 ble oppdatert!
|
||||
field name addressbook no Felt Navn
|
||||
fields to show in address list addressbook no Felt som skal vises i adresseliste
|
||||
fieldseparator addressbook no Feltskiller
|
||||
full name addressbook no Fullt Navn
|
||||
geo addressbook no GEO
|
||||
global categories addressbook no Globale Kategorier
|
||||
grant addressbook access common no Gi adressebok tilgang
|
||||
home address type addressbook no Adresse type, Hjemme
|
||||
home city addressbook no By, Hjemme
|
||||
home country addressbook no Land, Hjemme
|
||||
home email addressbook no Epost, Hjemme
|
||||
home email type addressbook no Epost type, Hjemme
|
||||
home phone addressbook no Telefon, Hjemme
|
||||
home state addressbook no Fylke, Hjemme
|
||||
home street addressbook no Gate, Hjemme
|
||||
home zip code addressbook no Postkode, Hjemme
|
||||
icon addressbook no Ikon
|
||||
import addressbook no Importer
|
||||
import contacts addressbook no Importer Kontakter
|
||||
import csv-file into addressbook addressbook no Importer CSV-fil i Adresselisten
|
||||
import file addressbook no Importer Fil
|
||||
import from addressbook no Importer fra
|
||||
import from ldif, csv, or vcard addressbook no Importer fra LDIF, CSV eller VCard
|
||||
import from outlook addressbook no Importer fra Outlook
|
||||
import multiple vcard addressbook no Importer flere VCard
|
||||
import next set addressbook no Importer neste sett
|
||||
import_instructions addressbook no I Netscape, åpne adresselisten og velg <b>Eksporter</b> fra <b>Fil</b> menyen. Den eksporterte filen vil være i LDIF format. I Outlook velger du Kontakter mappen, så <b>Import og eksport...</b> fra <b>Fil</b> menyen, og eksporterer kontaktene til en kommaseparert (CSV) fil.<p>For Palm Desktop 4.0 og høyere, gå til adresseliste og velg <b>Eksport</b> fra <b>Fil</b> menyen. Den eksporterte filen vil være på VCard format.
|
||||
income addressbook no Inntekt
|
||||
international addressbook no Internasjonal
|
||||
isdn phone addressbook no ISDN Telefon
|
||||
label addressbook no Etikett
|
||||
last modified addressbook no Sist endret
|
||||
ldap context for contacts admin no LDAP område for kontakter
|
||||
ldap host for contacts admin no LDAP tjener for kontakter
|
||||
ldap root dn for contacts admin no LDAP root dn for kontakter
|
||||
ldap root pw for contacts admin no LDAP root passord for kontakter
|
||||
ldif addressbook no LDIF
|
||||
line 2 addressbook no Linje 2
|
||||
links addressbook no Lenker
|
||||
list all categories addressbook no Liste alle kategorier
|
||||
list all customfields addressbook no Liste alle egendefinerte felt
|
||||
load vcard addressbook no Last VCard
|
||||
mark records as private addressbook no Merk rekkene som private
|
||||
message phone addressbook no Meldings Telefon?
|
||||
middle name addressbook no Mellomnavn
|
||||
mobile addressbook no Mobil
|
||||
mobile phone addressbook no Mobiltelefon
|
||||
modem phone addressbook no Modem Telefon
|
||||
more ... addressbook no Mere...
|
||||
multiple vcard addressbook no Flere VCard
|
||||
no vcard addressbook no Ingen VCard
|
||||
number addressbook no Nummer
|
||||
number of records to read (%1) addressbook no Antall rekker som leses (%1)
|
||||
options for type addressbook no Valg for type
|
||||
organisation addressbook no Organisasjon
|
||||
other number addressbook no Annet Nummer
|
||||
other phone addressbook no Annen Telefon
|
||||
pager common no Personsøker
|
||||
parcel addressbook no Pakken
|
||||
phone number common no Telefon Nummer
|
||||
phone numbers common no Telefon Numre
|
||||
please enter a name for that field ! addressbook no Vennligst skriv inn feltnavn !
|
||||
postal common no Post
|
||||
pref addressbook no Pref.
|
||||
prefix addressbook no Forstavelse
|
||||
public key addressbook no Offentlig Nøkkel
|
||||
publish into groups: addressbook no Publiser i grupper :
|
||||
read a list / search for entries. addressbook no Les en liste / søk etter forekomster
|
||||
read a list of entries. addressbook no Lese liste
|
||||
read a single entry by passing the id and fieldlist. addressbook no Les ett enkelt innslag ved å gi id og feltliste.
|
||||
record access addressbook no Rekketilgang
|
||||
record owner addressbook no Rekkeeier
|
||||
retrieve contacts admin no Hent kontakter
|
||||
select all addressbook no Velg alle
|
||||
select the type of conversion addressbook no Velg konverteringstype
|
||||
select the type of conversion: addressbook no Velg konverterings type:
|
||||
select where you want to store admin no Velg området du vil lagre
|
||||
show addressbook no Vis
|
||||
show birthday reminders on main screen addressbook no Vis fødselsdags-påminnelse på hovedskjerm
|
||||
something went wrong by deleting %1 addressbook no Noe gikk galt ved sletting av %1
|
||||
something went wrong by deleting this contact addressbook no Noe gikk galt ved sletting av denne kontakten
|
||||
something went wrong by reading this contact addressbook no Noe gikk galt ved lesing av denne kontakten
|
||||
something went wrong by saving this contact. errorcode %1 addressbook no Noe gikk galt ved sletting av denne kontakten. Feilkode %1
|
||||
startrecord addressbook no Startrekke
|
||||
state common no Fylke
|
||||
street common no Gate
|
||||
successfully imported %1 records into your addressbook. addressbook no Vellykket import av %1 rekker til adresseboken.
|
||||
suffix addressbook no Endelse
|
||||
tel home addressbook no Tlf. hjemme
|
||||
test import (show importable records <u>only</u> in browser) addressbook no Test Import (vis <u>kun</u> importerbare rekker i webleser)
|
||||
that field name has been used already ! addressbook no Feltnavnet er allerede i bruk !
|
||||
this person's first name was not in the address book. addressbook no Personens fornavn var ikke i adresseboken
|
||||
this person's last name was not in the address book. addressbook no Personens etternavn var ikke i adresseboken
|
||||
to many might exceed your execution-time-limit addressbook no for mange vil muligens overskride din eksekverings-tidsgrense
|
||||
today is %1's birthday! common no I dag har %1 fødselsdag!
|
||||
tomorrow is %1's birthday. common no I morgen er det %1's fødselsdag.
|
||||
translation addressbook no Oversetting
|
||||
update a single entry by passing the fields. addressbook no Oppdater ett enkelt innslag ved å legge inn felter.
|
||||
use country list addressbook no Bruk landliste
|
||||
vcard common no VCard
|
||||
vcards require a first name entry. addressbook no VCard krever fornavn.
|
||||
vcards require a last name entry. addressbook no VCard krever etternavn.
|
||||
video phone addressbook no Video Telefon
|
||||
voice phone addressbook no Vanlig Telefon
|
||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin no ADVARSEL!! LDAP er kun aktuellt dersom du IKKE bruker kontakter til konto lagring!
|
||||
warning: all contacts found will be deleted! addressbook no Advarsel: Alle kontakter funnet vil bli slettet!
|
||||
work phone addressbook no Telefon arbeid
|
||||
you are not permitted to delete contact %1 addressbook no Du har ikke tillatelse til å slette kontakt %1
|
||||
you are not permittet to delete this contact addressbook no Du har ikke tillatelse til å slette denne kontakten
|
||||
you are not permittet to edit this contact addressbook no Du har ikke tillatelse til å endre denne kontakten
|
||||
you are not permittet to view this contact addressbook no Du har ikke tillatelse til å vise denne kontakten
|
||||
you must select a vcard. (*.vcf) addressbook no Du må velge et vcard. (*.vcf)
|
||||
you must select at least 1 column to display addressbook no Du må velge minst en kolonne for visning
|
||||
zip code common no Postnummer
|
||||
zip_note addressbook no <p><b>Merk:</b>Denne filen kan være en pakket samling av .csv, .vcf eller .ldif filer. Du må ikke blande filtyper under import.
|
@ -21,7 +21,7 @@ add a single entry by passing the fields. addressbook bg Добавяне на
|
||||
add business email of whole distribution list? addressbook bg Добавяне на служебен e-mail за целия пощенски списък?
|
||||
add custom field addressbook bg Добавяне на поле по избор
|
||||
add emails of whole distribution list? addressbook bg Добаване на e-mail адресите на целия пощенски списък?
|
||||
add or delete categories addressbook bg Добавяне или изтриване на категории
|
||||
add or delete categoies addressbook bg Добавяне или изтриване на категории
|
||||
add to distribution list: addressbook bg Добавяне към пощенски списък:
|
||||
added addressbook bg добавен
|
||||
added by synchronisation addressbook bg добавен чрез синхронизация
|
@ -1,9 +1,7 @@
|
||||
%1 added addressbook cs %1 přidáno
|
||||
%1 contact(s) %2 addressbook cs %1 kontakt(ů) %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook cs %1 kontakt(ů) %2, %3 selhal(o) z důvodu nedostatečných oprávnění !!!
|
||||
%1 contacts updated (%2 errors). addressbook cs %1 kontaktů zaktualizováno (chyb: %2).
|
||||
%1 fields in %2 other organisation member(s) changed addressbook cs %1 položek u %2 ostatních členů organizace změněno
|
||||
%1 not implemented for %2! addressbook cs %1 není implementováno pro %2!
|
||||
%1 fields in %2 other organisation member(s) changed addressbook cs %1 polí u %2 ostatních členů organizace změně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 starts with '%2' addressbook cs %1 začíná s '%2'
|
||||
@ -24,7 +22,7 @@ add a single entry by passing the fields. addressbook cs Přidat záznam vyplně
|
||||
add business email of whole distribution list? addressbook cs Přidat firemní e-mail celého distribučního seznamu?
|
||||
add custom field addressbook cs Přidat uživatelsky definovanou položku
|
||||
add emails of whole distribution list? addressbook cs Přidat e-maily celého distribučního seznamu?
|
||||
add or delete categories addressbook cs Přidat nebo smazat kategorie
|
||||
add or delete categoies addressbook cs Přidat nebo smazat kategorie
|
||||
add to distribution list: addressbook cs Přidat do distribučního seznamu:
|
||||
added addressbook cs přidáno
|
||||
added by synchronisation addressbook cs přidáno synchronizací
|
||||
@ -37,7 +35,6 @@ address line 2 addressbook cs Adresa - řádek 2
|
||||
address type addressbook cs Typ adresy
|
||||
addressbook common cs Adresář
|
||||
addressbook csv export addressbook cs Export adresáře do CSV
|
||||
addressbook field addressbook cs Položka adresáře
|
||||
addressbook menu addressbook cs Menu adresáře
|
||||
addressbook preferences addressbook cs Předvolby adresáře
|
||||
addressbook the contact should be saved to addressbook cs Kontakty adresáře by měly být uloženy do
|
||||
@ -98,7 +95,6 @@ contact deleted addressbook cs Kontakt smazán
|
||||
contact fields to show addressbook cs Zobrazovat položky kontaktu
|
||||
contact fields: addressbook cs Položky kontaktu:
|
||||
contact id addressbook cs ID kontaktu
|
||||
contact maintenance admin cs Údržba kontaktu
|
||||
contact modified by %1 at %2 addressbook cs Kontakt změněnil(a) %1v %2
|
||||
contact not found! addressbook cs Kontakt nebyl nalezen!
|
||||
contact repository admin cs Databáze kontaktů
|
||||
@ -117,7 +113,6 @@ country common cs Země
|
||||
create new links addressbook cs Vytvořit nové odkazy
|
||||
created addressbook cs Vytvořeno
|
||||
credit addressbook cs Platební lhůta
|
||||
csv field addressbook cs CSV pole
|
||||
csv-fieldname addressbook cs Název CSV pole
|
||||
csv-filename addressbook cs Jméno CSV souboru
|
||||
custom addressbook cs Uživatelsky definované
|
||||
@ -145,7 +140,6 @@ 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 Distribuční seznam smazán
|
||||
distribution lists addressbook cs Distribuční seznamy
|
||||
distribution lists, ... addressbook cs Distribuční seznamy, ...
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook cs Chcete vytvořit soukromý adresář, kam nebudou mít přístup ani uživatelé, kterým dáte přístup do Vašeho osobního adresáře?
|
||||
do your really want to delete this contact? addressbook cs Opravdu chcete smazat tento kontakt?
|
||||
document '%1' does not exist or is not readable for you! addressbook cs Dokument '%1' neexistuje nebo nemáte oprávnění k jeho čtení!
|
||||
@ -163,10 +157,8 @@ edit phonenumbers - addressbook cs Editovat telefonní čísla -
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook cs Nastavené e-mailové adresy nebo konfigurace e-mailu jsou chybné.
|
||||
email & internet addressbook cs E-mail & Internet
|
||||
email addresses (comma separated) to send the contact data addressbook cs E-mailové adresy (oddělené čárkou) na které mají být odeslána data kontaktu
|
||||
empty admin cs Prázdné
|
||||
empty for all addressbook cs prázdné znamená vše
|
||||
enable an extra private addressbook addressbook cs Povolit dodatečný privátní adresář
|
||||
enclosure addressbook cs Uzavření
|
||||
end addressbook cs Konec
|
||||
enter the path to the exported file here addressbook cs Zde vyplňte cestu pro exportovaný soubor
|
||||
error deleting the contact !!! addressbook cs Chyba při mazání kontaktu
|
||||
@ -184,7 +176,6 @@ export selection addressbook cs Výběr exportu
|
||||
exported addressbook cs exportován
|
||||
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 cs Exportuje kontakty z Vašeho adresáře do CSV souboru. CSV znamená 'hodnoty oddělené čárkou'. Nicméně v záložce voleb si můžete zvolit jiné oddělovače.
|
||||
extra addressbook cs Extra
|
||||
extra private addressbook cs Extra soukromé
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook cs nepodařilo se změnit %1 členů organizace (nedostatečná práva) !!!
|
||||
fax addressbook cs Fax
|
||||
fax number common cs Faxové číslo
|
||||
@ -195,7 +186,6 @@ 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 show in address list addressbook cs Položky, které se zobrazují v seznamu adres
|
||||
fieldseparator addressbook cs Oddělovač položek
|
||||
fieldseperator addressbook cs Oddělovač položek
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook cs pro více než jeden kontakt v dokumentu použijte štítek pagerepeat!
|
||||
for read only ldap admin cs LDAP jen pro čtení
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook cs Pro hromadný dopis použijte tento štítek. Obsah, který chcete opakovat vložte mezi dva štítky.
|
||||
@ -225,7 +215,6 @@ icon addressbook cs Ikona
|
||||
if accounts are already in ldap admin cs pokud jsou účty již v LDAP
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook cs Pokud zde uvedete adresář (celou cestu ve virtuálním systému souborů), aplikace zobrazí akci pro každý dokument. Tato akce pak umožní stáhnout vybraný dokument s vloženými údaji kontaktu.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook cs Pokud zde uvedete dokument (celou cestu ve virtuálním systému souborů), aplikace zobrazí extra ikonu dokumentu pro každou adresu. Tato ikona pak umožní stáhnout vybraný dokument s vloženými údaji kontaktu.
|
||||
ignore first line addressbook cs Ignorovat první řádek
|
||||
import addressbook cs Importovat
|
||||
import contacts addressbook cs Importovat kontakty
|
||||
import csv-file into addressbook addressbook cs Importovat soubor CSV do adresáře
|
||||
@ -239,18 +228,16 @@ import_instructions addressbook cs V prohlížeči Netscape otevřete Adresář
|
||||
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 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.
|
||||
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
|
||||
insert in document addressbook cs Vložit do dokumentu
|
||||
insufficent rights to delete this list! addressbook cs Nemáte dostatečná oprávnění ke smazání seznamu!
|
||||
international addressbook cs Mezinárodní
|
||||
internet addressbook cs Internet
|
||||
label addressbook cs Jmenovka
|
||||
last date addressbook cs Poslední datum
|
||||
last modified addressbook cs naposledy změněno
|
||||
last modified by addressbook cs naposledy změnil(a)
|
||||
ldap context for contacts admin cs LDAP kontext pro kontakty
|
||||
ldap host for contacts admin cs LDAP server pro kontakty
|
||||
ldap settings for contacts admin cs Nastavení LDAP pro kontakty
|
||||
ldap settings for contacts admin cs nastavení LDAP pro kontakty
|
||||
ldif addressbook cs LDIF
|
||||
line 2 addressbook cs Řádek 2
|
||||
link title for contacts show addressbook cs Odkazovat nadpis pro zobrazení kontaktů
|
||||
@ -287,7 +274,6 @@ new contact submitted by %1 at %2 addressbook cs Nový kontakt odeslal(a) %1 v %
|
||||
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
|
||||
next date addressbook cs Následující datum
|
||||
no categories selected addressbook cs nebyly vybrány žádné kategorie
|
||||
no fallback addressbook cs Žádné nouzové řešení
|
||||
no vcard addressbook cs Žádná VCard
|
||||
number addressbook cs Čislo
|
||||
number of records to read (%1) addressbook cs Počet záznamů k načtení (%1)
|
||||
@ -315,7 +301,6 @@ preferred email address to use in distribution lists addressbook cs Preferovaná
|
||||
preferred phone addressbook cs preferovaný telefon
|
||||
preferred type of email address to add for distribution lists addressbook cs preferovaný typ e-mailové adresy pro přidávání do distribučních seznamů
|
||||
prefix addressbook cs Titul/Oslovení
|
||||
private custom fields addressbook cs Soukromá uživatelsky definovaná pole
|
||||
public key addressbook cs Veřejný klíč
|
||||
publish into groups: addressbook cs Zveřejnit ve skupinách:
|
||||
read a list / search for entries. addressbook cs Načíst seznam / vyhledat záznamy.
|
||||
@ -324,7 +309,6 @@ read a single entry by passing the id and fieldlist. addressbook cs Načíst zá
|
||||
read only addressbook cs jen ke čtení
|
||||
record access addressbook cs Přístup k záznamu
|
||||
record owner addressbook cs Vlastník záznamu
|
||||
region addressbook cs Region
|
||||
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
|
||||
repetition addressbook cs Opakování
|
||||
@ -338,7 +322,6 @@ select a view addressbook cs Vybrat pohled
|
||||
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 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
|
||||
@ -346,16 +329,12 @@ select the type of conversion addressbook cs Vybrat typ konverze
|
||||
select the type of conversion: addressbook cs Vybrat typ konverze:
|
||||
select where you want to store / retrieve contacts admin cs Vybrat úložiště kontaktů
|
||||
selected contacts addressbook cs vybrané kontakty
|
||||
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
|
||||
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 birthday reminders on main screen addressbook cs Zobrazit upomínky na narozeniny na hlavní obrazovce
|
||||
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
|
||||
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)
|
||||
stadt addressbook cs Město
|
||||
start admin cs Start
|
||||
startrecord addressbook cs První záznam
|
||||
state common cs Stát
|
||||
@ -363,7 +342,6 @@ street common cs Ulice
|
||||
subject for email addressbook cs Předmět e-mailu
|
||||
successfully imported %1 records into your addressbook. addressbook cs Úspěšně importováno %1 záznamů do Vašeho adresáře.
|
||||
suffix addressbook cs Za příjmením
|
||||
tag to mark positions for address labels addressbook cs Značka pro vyznačení pozic v adresních štítcích
|
||||
tel home addressbook cs telefon domů
|
||||
telephony integration admin cs Integrace telefonie
|
||||
test import (show importable records <u>only</u> in browser) addressbook cs Testovat import (zobrazit importovatelné záznamy <u>jen</u> v prohlížeči)
|
||||
@ -383,10 +361,7 @@ to many might exceed your execution-time-limit addressbook cs příliš mnoho m
|
||||
today is %1's birthday! common cs Dnes má narozeniny %1!
|
||||
tomorrow is %1's birthday. common cs Zítra má narozeniny %1!
|
||||
translation addressbook cs Překlad
|
||||
two of: %1 addressbook cs dva z: %1
|
||||
type addressbook cs Typ
|
||||
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ů)
|
||||
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
|
||||
@ -396,7 +371,6 @@ use an extra category tab? addressbook cs Použít extra založku pro kategorii?
|
||||
use an extra tab for private custom fields? admin cs Použít extra založku pro soukromé uživatelsky definované položky?
|
||||
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
|
||||
vcard common cs VCard
|
||||
vcards require a first name entry. addressbook cs VCard vyžaduje křestní jméno v záznamu
|
@ -1,17 +1,15 @@
|
||||
%1 added addressbook de %1 hinzugefügt
|
||||
%1 contact(s) %2 addressbook de %1 Kontakt(e) %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook de %1 Kontakt(e) %2, %3 nicht wegen fehlender Rechte !!!
|
||||
%1 contacts updated (%2 errors). addressbook de %1 Kontakte aktualisiert (%2 Fehler).
|
||||
%1 fields in %2 other organisation member(s) changed addressbook de %1 Felder in %2 Mitglied(ern) der Organisation geändert
|
||||
%1 not implemented for %2! addressbook de %1 nicht implementiert für %2!
|
||||
%1 records imported addressbook de %1 Datensätze importiert
|
||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook de %1 Datensätze gelesen (noch nicht importiert, sie können %2zurück%3 gehen und Test-Import auschalten)
|
||||
%1 starts with '%2' addressbook de %1 beginnt mit '%2'
|
||||
%s please calculate the result addressbook de %s Bitte berechnen Sie das Ergebnis
|
||||
(e.g. 1969) addressbook de (z.B. 1969)
|
||||
(e.g. 1969) addressbook de (z.B. 1966)
|
||||
(empty = use global limit, no = no export at all) admin de (leer = globale Begrenzung verwenden, nein = gar kein Export)
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook de <b>Kein Übersetzungstyp <none> konnte gefunden werden.</b> Bitte wählen Sie einen Übersetzungstyp aus der Liste
|
||||
@-eval() is only availible to admins!!! addressbook de @-eval() ist nur für Administratoren verfügbar !!!
|
||||
@-eval() is only availible to admins!!! addressbook de @-eval() ist nur verfügbar für Administratoren!!!
|
||||
account repository admin de Speicherort für Benutzerkonten
|
||||
accounts addressbook de Benutzerkonten
|
||||
actions addressbook de Befehle
|
||||
@ -24,7 +22,7 @@ add a single entry by passing the fields. addressbook de Hinzufügen eines einze
|
||||
add business email of whole distribution list? addressbook de E-Mail geschäftl. der kompletten Liste hinzufügen?
|
||||
add custom field addressbook de Benutzerdefiniertes Feld hinzufügen
|
||||
add emails of whole distribution list? addressbook de E-Mails der gesamten Verteilerliste hinzufügen?
|
||||
add or delete categories addressbook de Kategorien hinzufügen oder löschen
|
||||
add or delete categoies addressbook de Kategorien hinzufügen oder löschen
|
||||
add to distribution list: addressbook de Hinzufügen zu Verteiler:
|
||||
added addressbook de hinzugefügt
|
||||
added by synchronisation addressbook de Hinzugefügt über die Synchronisation
|
||||
@ -37,10 +35,9 @@ address line 2 addressbook de Adresszeile 2
|
||||
address type addressbook de Adresstyp
|
||||
addressbook common de Adressbuch
|
||||
addressbook csv export addressbook de Adressbuch CSV Export
|
||||
addressbook field addressbook de Adressbuch Feld
|
||||
addressbook menu addressbook de Adressbuch Menü
|
||||
addressbook preferences addressbook de Adressbuch Einstellungen
|
||||
addressbook the contact should be saved to addressbook de Adressbuch in dem der Kontakt gespeichert werden soll
|
||||
addressbook the contact should be saved to addressbook de Adressbuch in das der Kontakt gespeichert werden soll
|
||||
addressbook the contact should be shown addressbook de Adressbuch in dem der Kontakt angezeit werden soll
|
||||
addressbook-fieldname addressbook de Adressbuch Feldname
|
||||
addvcard addressbook de VCard hinzufügen
|
||||
@ -50,9 +47,9 @@ allow users to maintain their own account-data admin de Erlaube Benutzern ihre e
|
||||
alt. csv import addressbook de Alt. CSV Import
|
||||
always addressbook de immer
|
||||
apply changes to all members, whose fields have the same previous content addressbook de Wendet die Änderungen auf alle Mitglieder an, deren Felder gleichen vorherigen Inhalt haben
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook de Wendet den Befehl auf die gesamte Abfrage an, NICHT nur auf die angezeigten Kontakte !!!
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook de Wendet den Befehl auf die gesamte Abfrage an, NICHT nur auf die angezeigten Kontakte!!!
|
||||
are you shure you want to delete this contact? addressbook de Diesen Kontakt löschen?
|
||||
are you sure you want to delete this field? addressbook de Sind Sie sicher, dass Sie dieses Feld löschen möchten?
|
||||
are you sure you want to delete this field? addressbook de Sind Sie sicher, dass Sie dieses Feld löschen wollen?
|
||||
assistent addressbook de Assistent
|
||||
assistent phone addressbook de Telefon Assistent
|
||||
at the moment the following document-types are supported: addressbook de Im Moment werden die folgenden Dokumenttypen unterstützt:
|
||||
@ -88,7 +85,6 @@ choose owner of imported data addressbook de Wählen Sie den Besitzer der import
|
||||
choose seperator and charset addressbook de Wählen Sie ein Trennzeichen und den Zeichensatz
|
||||
chosse an etemplate for this contact type admin de Wählen Sie ein eTemplate für diesen Kontakt Typ
|
||||
city common de Stadt
|
||||
cleanup addressbook fields (apply if synchronization creates duplicates) addressbook de Bereinige Adressbuch Felder (anwenden, wenn die Synchronisation Duplikate erzeugt)
|
||||
company common de Firma
|
||||
company name addressbook de Firmenname
|
||||
configuration common de Konfiguration
|
||||
@ -99,7 +95,6 @@ contact deleted addressbook de Kontakt gelöscht
|
||||
contact fields to show addressbook de Kontaktfelder die angezeigt werden sollen
|
||||
contact fields: addressbook de Kontaktfelder:
|
||||
contact id addressbook de Kontakt ID
|
||||
contact maintenance admin de Kontakt Wartung
|
||||
contact modified by %1 at %2 addressbook de Kontakt geändert von %1 am %2
|
||||
contact not found! addressbook de Kontakt nicht gefunden!
|
||||
contact repository admin de Speicherort Kontakte
|
||||
@ -118,21 +113,20 @@ country common de Land
|
||||
create new links addressbook de Neue Verknüpfung erstellen
|
||||
created addressbook de Angelegt
|
||||
credit addressbook de Darlehen
|
||||
csv field addressbook de CSV Feld
|
||||
csv-fieldname addressbook de CSV-Feldname
|
||||
csv-filename addressbook de CSV-Dateiname
|
||||
custom addressbook de Benutzerdefiniert
|
||||
custom etemplate for the contactform addressbook de Eigenes eTemplate für das Kontaktformular
|
||||
custom fields addressbook de Benutzerdefinierte Felder
|
||||
debug output in browser addressbook de Debug - Ausgabe in Browser
|
||||
debug output in browser addressbook de Debugausgaben in Browser
|
||||
default addressbook de Standard
|
||||
default address format addressbook de Vorgabe für Format der Adresse
|
||||
default addressbook for adding contacts addressbook de Vorgabe Adressbuch beim Hinzufügen von Kontakten
|
||||
default document to insert contacts addressbook de Standarddokument zum Einfügen von Kontakten
|
||||
default file as format addressbook de Vorgabe für eigene Sortierung
|
||||
default file as format addressbook de Vorgage für eigene Sortierung
|
||||
default filter addressbook de Standardfilter
|
||||
default format for fileas, eg. for new entries. addressbook de Vorgegebenes Format für eigene Sortierung, z.B. für neue Einträge
|
||||
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook de Legt fest, welche E-Mailadresse (geschäftlich oder privat) für Verteilerlisten in E-Mail bevorzugt benutzt werden soll.
|
||||
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook de Legt fest, welche E-Mailadresse (geschäftlich oder privat) für Verteilerlisten in Mail bevorzugt benutzt werden soll.
|
||||
delete a single entry by passing the id. addressbook de Löscht einen einzelnen Eintrag durch Übergabe seiner ID.
|
||||
delete selected distribution list! addressbook de Löscht die ausgewählten Verteilerliste!
|
||||
delete this contact addressbook de Diesen Kontakt löschen
|
||||
@ -143,12 +137,11 @@ department common de Abteilung
|
||||
departments addressbook de Abteilungen
|
||||
directory with documents to insert contacts addressbook de Verzeichnis mit Dokumenten zum Einfügen von Kontakten
|
||||
display contact addressbook de Kontakte Anzeigen
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook de Zeigt auf der Startseite eine Geburtstags Erinnerung an. Die Startseite ist die Seite die Sie sehen, wenn Sie sich in der EGroupware anmelden oder auf das Startseiten Icon (Haus) klicken.
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook de Zeigt auf der Startseite eine Geburtstags Erinnerung an. Die Startseite ist die Seite die Sie sehen, wenn Sie eGroupWare betreten oder auf das Startseiten Icon (Haus) klicken.
|
||||
distribution list deleted addressbook de Verteiler gelöscht
|
||||
distribution lists addressbook de Verteilerlisten
|
||||
distribution lists, ... addressbook de Verteilerlisten, ...
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook de Sie können mit dieser Funktion ein privates Adressbuch nutzen, das nicht an andere Benutzer freigegeben werden kann und Ihre Privatsphäre optimal schützt. Aktivieren Sie diese Funktion nach Bedarf.
|
||||
do your really want to delete this contact? addressbook de Wollen Sie diesen Kontakt wirklich löschen?
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook de Wollen Sie ein privates Adressbuch, dass nicht von Benutzern einsehbar ist, denen Sie Zugriff auf Ihr persönliches Adressbuch gegeben haben?
|
||||
do your really want to delete this contact? addressbook de Wollen sie diesen Kontakt wirklich löschen?
|
||||
document '%1' does not exist or is not readable for you! addressbook de Dokument '%1' existiert nicht oder ist für Sie nicht lesbar!
|
||||
doesn't matter addressbook de egal
|
||||
domestic addressbook de Wohnung
|
||||
@ -161,19 +154,17 @@ edit custom field addressbook de Benutzerdefiniertes Feld bearbeiten
|
||||
edit custom fields admin de Benutzerdefinierte Felder bearbeiten
|
||||
edit extra account-data in the addressbook admin de Zusätzliche Benutzerdaten im Adressbuch bearbeiten.
|
||||
edit phonenumbers - addressbook de Telefonnummern bearbeiten
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook de Entweder die konfigurierte E-Mail Adresse ist falsch oder die E-Mail Konfiguration.
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook de Entweder die konfigurierte Email Adresse ist falsch oder die Mail Konfiguration.
|
||||
email & internet addressbook de E-Mail & Internet
|
||||
email addresses (comma separated) to send the contact data addressbook de E-Mail Adressen (Komma getrennt) zum Senden der Kontaktdaten
|
||||
empty admin de leere
|
||||
email addresses (comma separated) to send the contact data addressbook de Email Adressen (Komma getrennt) zum Senden der Kontaktdaten
|
||||
empty for all addressbook de leer für alle
|
||||
enable an extra private addressbook addressbook de Privates Adressbuch einschalten
|
||||
enclosure addressbook de Einschluss
|
||||
end addressbook de Ende
|
||||
enter the path to the exported file here addressbook de Bitte geben Sie den Pfad für die exportierte Datei an
|
||||
error deleting the contact !!! addressbook de Fehler beim Löschen des Kontakts !!!
|
||||
error saving the contact !!! addressbook de Fehler beim Speichern des Kontakts !!!
|
||||
error: the entry has been updated since you opened it for editing! addressbook de Fehler: der Eintrag wurde geändert, seit Sie ihn zum Bearbeiten geöffnet haben!
|
||||
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 de Beispiel: "$$IF n_prefix~Herr~Sehr geehrter~Sehr geehrte$$" - suche in dem Feld "n_prefix" nach "Herr", wenn gefunden, schreibe "Sehr geehrter", wenn nicht gefunden schreibe "Sehr geehrte". Es ist auch möglich anstatt fixer Werte, den Wert eines andren Feldes zu übernehmen. Beispiel(Land wird nur dann angezeit, denn es nicht DEUTSCHLAND ist: $$IFadr_one_countryname~DEUTSCHLAND~~adr_one_countryname$$
|
||||
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 de Beispiel: "$$IF n_prefix~Herr~Sehr geehrter~Sehr geehrte$$" - suche in dem Feld "n_prefix" nach "Herr", wenn gefunden, schreibe "Sehr geehrter", wenn nicht gefunden schreibe "Sehr geehrte"
|
||||
existing links addressbook de Bestehende Verknüpfungen
|
||||
export addressbook de Export
|
||||
export as csv addressbook de Exportieren als CSV
|
||||
@ -185,7 +176,6 @@ export selection addressbook de Auswahl exportieren
|
||||
exported addressbook de exportiert
|
||||
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 de Exportiert Kontakte vom Adressbuch in eine CSV Datei. CSV bedeutet 'Komma getrennte Werte'. Im Optionen Reiter können Sie aber auch ein anderes Trennzeichen wählen.
|
||||
extra addressbook de Extra
|
||||
extra private addressbook de Extra Privat
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook de %1 Mitglied(er) der Organisation nicht geändert (fehlende Rechte) !!!
|
||||
fax addressbook de Telefax
|
||||
fax number common de Telefaxnummer
|
||||
@ -193,13 +183,12 @@ field %1 has been added ! addressbook de Feld %1 wurde hinzugefügt !
|
||||
field %1 has been updated ! addressbook de Feld %1 wurde aktualisiert !
|
||||
field name addressbook de Feldname
|
||||
fields for the csv export addressbook de Felder für den CSV Export
|
||||
fields the user is allowed to edit himself admin de Felder, die der Benutzer selbst bearbeiten darf
|
||||
fields the user is allowed to edit himself admin de Felder die der Benutzer selbst bearbeiten darf
|
||||
fields to show in address list addressbook de Felder, die in der Adressliste angezeigt werden sollen
|
||||
fieldseparator addressbook de Feldtrenner
|
||||
fieldseperator addressbook de Feldtrenner
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook de Um mehr als eine Adresse in ein Dokument einzufügen, benutzen Sie das 'Seiten-Wiederholungs-Zeichen' in Ihrer Vorlage. Auf diese Art können Sie Serienbriefe erstellen.
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook de Um mehr als eine Adresse in ein Dokument einzufügen, benutzen Sie das pagerepeat Tag in Ihrer Vorlage. Damit Können Sie Serienbriefe erstellen
|
||||
for read only ldap admin de für nur lesendes LDAP
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook de Wenn Sie Serienbriefe erzeugen möchten, dann benutzen Sie dieses 'Markierungszeichen'. Setzen Sie den Inhalt, der wiederholt werden soll (Anschriftstags und Briefinhalt) zwischen zwei 'Seiten-Wiederholungs-Zeichen'.
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook de Wenn Sie Serienbriefe erzeugen wollen, dann benutzen Sie dieses Tag. Setzen Sie den Inhalt, der wiederholt werden soll (Anschriftstags und Briefinhalt) zwischen zwei pagerepeat Tags.
|
||||
freebusy uri addressbook de Freebusy URI
|
||||
full name addressbook de vollständiger Name
|
||||
general addressbook de Allgemein
|
||||
@ -221,12 +210,11 @@ home phone addressbook de Tel. privat
|
||||
home state addressbook de Bundesland privat
|
||||
home street addressbook de Straße privat
|
||||
home zip code addressbook de PLZ privat
|
||||
how many contacts should non-admins be able to export admin de Wieviele Kontakte sollen Nicht-Adminstratoren exportieren können?
|
||||
how many contacts should non-admins be able to export admin de Wieviele Kontakte sollen nicht-Adminstratoren exportieren können
|
||||
icon addressbook de Icon
|
||||
if accounts are already in ldap admin de wenn die Benutzer bereits im LDAP sind
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook de Wenn Sie hier ein Verzeichnis (kompletter VFS Pfad) angeben, zeigt das Adressbuch einen Befehl für jedes Dokument darin. Diese Befehle erlauben das angegebene Dokument mit Kontaktdaten eingefügt herunterzuladen.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook de Wenn Sie hier ein Dokument (kompletter VFS Pfad) angeben, zeigt das Adressbuch ein zusätzliches Dokumenten Icon. Dieses Icon erlaubt das Dokument mit Kontaktdaten eingefügt herunterzuladen.
|
||||
ignore first line addressbook de Erste Zeile ignorieren
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook de Wenn Sie hier ein Dokument (kompletter VFS Pfad) angeben, zeigt das Adressbuch ein zusätzliches Dokumenten Icon. Diese Icon erlaubt das Dokument mit Kontaktdaten eingefügt herunterzuladen.
|
||||
import addressbook de Import
|
||||
import contacts addressbook de Kontakte importieren
|
||||
import csv-file into addressbook addressbook de Import CSV-Datei ins Adressbuch
|
||||
@ -236,15 +224,13 @@ import from ldif, csv, or vcard addressbook de Import von LDIF, CSV oder VCard
|
||||
import from outlook addressbook de Aus Outlook importieren
|
||||
import multiple vcard addressbook de Import mehrere VCards
|
||||
import next set addressbook de Nächsten Satz importieren
|
||||
import_instructions addressbook de In Netscape: Öffnen Sie das Adressbuch und wählen Sie <b>Exportieren</b> aus dem Datei Menü aus. Die Dateien werden im LDIF Format exportiert.<p> In Outlook wählen Sie den Ordner Kontakte aus, wählen Sie <b>Importieren und Exportieren...</p> aus dem <b>Datei</b> Menü aus und Exportieren Sie die Kontakte als eine CSV Datei.<p> In Palm Desktop 4.0 oder größer, öffnen Sie Ihr Adressbuch und wählen Sie <b>Export</b> aus dem Datei-Menü aus. Die Datei wird im VCard-Format exportiert.
|
||||
import_instructions addressbook de In Netscape, öffnen Sie das Adressbuch und wählen Sie <b>Exportieren</b> aus dem Datei Menü aus. Die Dateien werden im LDIF Formaz exportiert.<p> In Outlook wählen Sie den Ordner Kontakte aus, wählen Sie <b>Importieren und Exportieren...</p> aus dem <b>Datei</b> Menü aus und Exportieren Sie die Kontakte als eine CSV Datei.<p> In Palm Desktop 4.0 oder größer, öffnen Sie Ihr Adressbuch und wählen Sie <b>Export</b> aus dem Datei-Menü aus. Die Datei wird im VCard-Format exportiert.
|
||||
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 de Importiert Kontakte aus einer CSV Datei in Ihr Adressbuch. CSV bedeutet Komma getrennte Werte. Sie können in dem Reiter Einstellungen auch ein anderes Trennzeichen wählen.
|
||||
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
|
||||
insert in document addressbook de Einfügen in Dokument
|
||||
insufficent rights to delete this list! addressbook de Keine Rechte vorhanden um diese Liste zu löschen!
|
||||
insufficent rights to delete this list! addressbook de Keine Rechte diese Liste zu löschen!
|
||||
international addressbook de International
|
||||
internet addressbook de Internet
|
||||
label addressbook de Adressetikett
|
||||
last date addressbook de Letzter Termin
|
||||
last modified addressbook de Letzte Änderung
|
||||
@ -267,9 +253,9 @@ location addressbook de Standort
|
||||
locations addressbook de Standorte
|
||||
manage mapping addressbook de Zuordnungen verwalten
|
||||
mark records as private addressbook de Eintrag als Privat kennzeichnen
|
||||
merge into first or account, deletes all other! addressbook de Vereinige im ersten oder Benutzerkonto, löscht alle anderen !
|
||||
merge into first or account, deletes all other! addressbook de Vereinige im ersten oder Benutzerkonto, löscht alle anderen!
|
||||
merged addressbook de vereinigt
|
||||
message after submitting the form addressbook de Nachricht nach dem Versenden des Formulars
|
||||
message after submitting the form addressbook de Nachricht nach dem Abschicken des Formulars
|
||||
message phone addressbook de Anrufbeantworter
|
||||
middle name addressbook de Zweiter Vorname
|
||||
migration finished addressbook de Migration beendet
|
||||
@ -288,7 +274,6 @@ new contact submitted by %1 at %2 addressbook de Neuer Kontakt eingetragen von %
|
||||
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 fallback addressbook de Keine Ausweichlösung
|
||||
no vcard addressbook de Keine VCard
|
||||
number addressbook de Nummer
|
||||
number of records to read (%1) addressbook de Anzahl der einzulesenden Datensätze (%1)
|
||||
@ -307,25 +292,23 @@ permission denied !!! addressbook de Zugriff verweigert !!!
|
||||
phone number common de Telefonnummer
|
||||
phone numbers common de Telefonnummern
|
||||
photo addressbook de Foto
|
||||
please enter a name for that field ! addressbook de Bitte geben Sie einen Namen für das Feld an!
|
||||
please enter a name for that field ! addressbook de Bitte geben sie einen Namen für das Feld an!
|
||||
please select only one category addressbook de Bitte nur eine Kategorie auswählen
|
||||
please update the templatename in your customfields section! addressbook de Passen Sie bitte in der Sektion "Benutzerdefinierte Felder" Ihren Templatenamen an!
|
||||
postal common de Postanschrift
|
||||
pref addressbook de bevorzugt
|
||||
pref addressbook de präf
|
||||
preferred email address to use in distribution lists addressbook de Bevorzugte E-Mailadresse für Verteilerlisten
|
||||
preferred phone addressbook de bevorzugte Telefonnummer
|
||||
preferred phone addressbook de präferierte Telefonnummer
|
||||
preferred type of email address to add for distribution lists addressbook de bevorzugter Typ der E-Mailadresse für Verteilerlisten
|
||||
prefix addressbook de Anrede
|
||||
private custom fields addressbook de Private Benutzerdefinierte Felder
|
||||
public key addressbook de öffentlicher Schlüssel
|
||||
publish into groups: addressbook de In folgenden Gruppen veröffentlichen:
|
||||
publish into groups: addressbook de In folgende 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.
|
||||
read a single entry by passing the id and fieldlist. addressbook de Liest einen einzelnen Eintrag über seine ID und Feldliste.
|
||||
read only addressbook de nur lesend
|
||||
record access addressbook de Zugriffsrechte
|
||||
record owner addressbook de Datensatzeigentümer
|
||||
region addressbook de Region
|
||||
remove selected contacts from distribution list addressbook de Ausgewählte Kontakte vom Verteiler löschen
|
||||
removed from distribution list addressbook de vom Verteiler gelöscht
|
||||
repetition addressbook de Wiederholung
|
||||
@ -339,24 +322,19 @@ select a view addressbook de Eine Ansicht auswählen
|
||||
select addressbook type addressbook de Typ des Adressbuchs auswählen
|
||||
select all addressbook de Alles auswählen
|
||||
select an action or addressbook to move to addressbook de Befehl oder Adressbuch zum Verschieben auswählen
|
||||
select an action or addressbook to move to... addressbook de Befehl oder Adressbuch zum Verschieben auswählen...
|
||||
select migration type admin de Migrationstyp auswählen
|
||||
select multiple contacts for a further action addressbook de Mehrere Adressen für weiteren Befehl auswählen
|
||||
select phone number as prefered way of contact addressbook de Telefonnummer als präferierten Kontaktweg auswählen
|
||||
select the type of conversion addressbook de Typ der Umwandlung auswählen
|
||||
select the type of conversion: addressbook de Typ der Umwandlung auswählen:
|
||||
select where you want to store / retrieve contacts admin de Auswählen wo Sie Adressen speichern möchten
|
||||
select where you want to store / retrieve contacts admin de Auswählen wo Sie Adressen speichern wollen
|
||||
selected contacts addressbook de ausgewählte Kontakte
|
||||
seperator addressbook de Feldtrenner
|
||||
set full name and file as field in contacts of all users (either all or only empty values) admin de Setzt vollen Namen und eigene Sortierung in Kontakten aller Benutzer (entweder alle oder nur leere Werte)
|
||||
set only full name addressbook de Nur vollen Namen setzen
|
||||
should the columns photo and home address always be displayed, even if they are empty. addressbook de Sollen die Spalten Foto und Privatadresse immer angezeigt werden, auch wenn sie leer sind?
|
||||
should the columns photo and home address always be displayed, even if they are empty. addressbook de Sollen die Spalten Foto und Privatadresse immer angezeigt werden, auch wenn sie leer sind.
|
||||
show addressbook de Anzeigen
|
||||
show birthday reminders on main screen addressbook de Geburtstagserinnerungen auf der Startseite anzeigen
|
||||
show infolog entries for this organisation addressbook de InfoLog Einträge dieser Organisation anzeigen
|
||||
show the contacts of this organisation addressbook de Kontakte dieser Organisation anzeigen
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin de Größe des Popup (WxH, zB. 400x300, falls ein Popup verwendet werden soll)
|
||||
stadt addressbook de Stadt
|
||||
start admin de Starten
|
||||
startrecord addressbook de Startdatensatz
|
||||
state common de Bundesland
|
||||
@ -364,30 +342,26 @@ street common de Straße
|
||||
subject for email addressbook de Betreff der Email
|
||||
successfully imported %1 records into your addressbook. addressbook de %1 Kontakte wurden erfolgreich in Ihr Adressbuch importiert
|
||||
suffix addressbook de Zusatz
|
||||
tag to mark positions for address labels addressbook de Markierungszeichen, um die Positionen von Adressetiktetten zu markieren
|
||||
tel home addressbook de Telefon privat
|
||||
telephony integration admin de Telefonie Integration
|
||||
test import (show importable records <u>only</u> in browser) addressbook de Test-Import (zeigt importierbare Datensätze <u>nur</u> im Browser an)
|
||||
thank you for contacting us. addressbook de Danke das Sie uns kontaktierten.
|
||||
that field name has been used already ! addressbook de Dieser Feldname wird bereits benutzt!
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook de Der anonyme Benutzer hat vermutlich keine Hinzufügen Rechte für dieses Adressbuch.
|
||||
the anonymous user needs add rights for it! addressbook de Der Anonymous Benutzer benötigt Hinzufügen Rechte dafür!
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook de Der anonyme Benutzer hat vermutlich keine Hinzufügen Rechte für diese Adressbuch.
|
||||
the anonymous user needs add rights for it! addressbook de Der anonyme Benutzer benötigt Hinzufügen Rechte dafür!
|
||||
the anonymous user needs read it! addressbook de Der Anonymous Benutzer muss dies lesen können
|
||||
the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (%1full list of placeholder names%2). addressbook de Das Dokument kann Platzhalter wie $$n_fn$$ enthalten, die mit den Kontaktdaten ersetzt werden (%1komplette Liste der Platzhalter%2).
|
||||
there was an error saving your data :-( addressbook de Beim Speichern Ihrer Daten ist ein Fehler aufgetreten :-(
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook de Dieses Modul ist ein Kontaktformular, welches direkt in das Adressbuch speichert.
|
||||
there was an error saving your data :-( addressbook de Beim Speichern ihrer Daten ist ein Fehler aufgetreten :-(
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook de Diese Module ist ein Kontaktformular, das direkt in das Adressbuch speichert.
|
||||
this module displays block from a adddressbook group. addressbook de Dieses Modul zeigt einen Block vom Adressbuch an.
|
||||
this person's first name was not in the address book. addressbook de Der Vorname dieser Person ist nicht im Adressbuch vorhanden.
|
||||
this person's last name was not in the address book. addressbook de Der Nachname dieser Person ist nicht im Adressbuch vorhanden.
|
||||
this person's first name was not in the address book. addressbook de Der Vorname dieser Person ist nicht im Adressbuch.
|
||||
this person's last name was not in the address book. addressbook de Der Nachname dieser Person ist nicht im Adressbuch.
|
||||
timezone addressbook de Zeitzone
|
||||
to many might exceed your execution-time-limit addressbook de Zu viele können Ihre Laufzeitbeschränkung überschreiten
|
||||
to many might exceed your execution-time-limit addressbook de zu viel können ihre Laufzeitbeschränkung überschreiten
|
||||
today is %1's birthday! common de Heute ist der Geburtstag von %1!
|
||||
tomorrow is %1's birthday. common de Morgen ist der Geburtstag von %1.
|
||||
translation addressbook de Übersetzung
|
||||
two of: %1 addressbook de Zwei von: %1
|
||||
type addressbook de Typ
|
||||
unique id (uid) addressbook de Eindeutige ID (UID)
|
||||
unique id<br />(to update existing records) addressbook de Eindeutige ID<br />(um existierende Datensätze zu aktualisieren)
|
||||
update a single entry by passing the fields. addressbook de Aktualisiert einen einzelnen Eintrag durch Übergabe seiner Felder.
|
||||
update fields by edited organisations? admin de Welche Felder sollen beim Bearbeiten von Organisationen aktualisiert werden?
|
||||
updated addressbook de Aktualisiert
|
||||
@ -397,36 +371,35 @@ use an extra category tab? addressbook de Separaten Reiter für Kategorien verwe
|
||||
use an extra tab for private custom fields? admin de Separaten Reiter für private benutzerdefinierte Felder verwenden?
|
||||
use country list addressbook de Länderliste benutzen
|
||||
use setup for a full account-migration admin de für eine komplette Benutzer Migration setup verwenden
|
||||
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook de Benutzen Sie diesen Markierungszeichen für Adressetiketten. Plazieren Sie den Inhalt, der wiederholt werden soll, zwischen zwei Markierungszeichen.
|
||||
used for links and for the own sorting of the list addressbook de wird für Verknüpfungen und die eigene Sortierung der Liste benutzt
|
||||
used for links and for the own sorting of the list addressbook de wird für Verküpfungen und die eigene Sortierung der Liste benützt
|
||||
vcard common de VCard
|
||||
vcards require a first name entry. addressbook de VCards benötigen einen Vornamen.
|
||||
vcards require a last name entry. addressbook de VCards benötigen einen Nachnamen.
|
||||
verification addressbook de Verifikation
|
||||
view linked infolog entries addressbook de Verknüpfte InfoLog Einträge anzeigen
|
||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin de WARNUNG!! LDAP darf nur verwendet werden, wenn sie die Benutzerkonten nicht im Adressbuch speichern!
|
||||
warning: all contacts found will be deleted! addressbook de WARNUNG: Alle gefundenen Kontakte werden gelöscht !
|
||||
warning: all contacts found will be deleted! addressbook de WARNUNG: Alle gefundenen Kontakte werden gelöscht!
|
||||
warning: template "%1" not found, using default template instead. addressbook de WARNUNG: Template "%1" nicht gefunden, das Standard-Template wird stattdessen benutzt.
|
||||
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!
|
||||
where to add the email address addressbook de wo soll die E-Mailadresse 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.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook de Welcher Zeichensatz soll für den CSV Export verwendet werden. Die systemweite Vorgabe ist der Zeichensatz der EGroupware Installation.
|
||||
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 de Welche Felder sollen exportiert werden. 'Alle' bedeutet jedes Feld, welches im Adressbuch gespeichert ist, einschl. der benutzerdefinierten Felder. Die Geschäfts- oder Privatadresse enthält nur Name, Firma und die ausgewählte Adresse.
|
||||
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 ausgewählt sein beim Hinzufügen von Kontakten, wenn Sie keine Hinzufügen Rechte zum aktuellen Adressbuch haben.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook de Welcher Zeichensatz soll für den CSV Export verwendet werden. Die systemweite Vorgabe ist der Zeichensatz der eGroupWare Installation.
|
||||
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 de Welche Felder sollen exportiert werden. Alle bedeutet jedes Feld das im Adressbuch gespeichert ist einschl. der benutzerdefinierten Felder. Die Geschäfts- oder Privatadresse enthält nur Name, Firma und die ausgewählte Adresse.
|
||||
whole query addressbook de gesamte Abfrage
|
||||
work email if given, else home email addressbook de Geschäftliche E-Mail wenn vorhanden, ansonsten private E-Mail
|
||||
work phone addressbook de Tel dienstl.
|
||||
write (update or add) a single entry by passing the fields. addressbook de Schreibt (aktualiseren oder hinzufügen) eines einzelnen Eintrags durch Übergabe der Felder
|
||||
write (update or add) a single entry by passing the fields. addressbook de Schreibt (aktualiseren oder zufügen) eines einzelnen Eintrags durch Übergabe der Felder
|
||||
wrong - try again ... addressbook de Falsch - nochmal versuchen ...
|
||||
yes, for the next three days addressbook de Ja, für die nächsten drei Tage
|
||||
yes, for the next two weeks addressbook de Ja, für die nächsten zwei Wochen
|
||||
yes, for the next week addressbook de Ja, für die nächste Woche
|
||||
yes, for today and tomorrow addressbook de Ja, für heute und morgen
|
||||
you are not permitted to delete contact %1 addressbook de Sie haben keine Berechtigungen um den Kontakt %1 zu löschen
|
||||
you are not permittet to delete this contact addressbook de Sie haben keine Berechtigung diesen Kontakt zu löschen
|
||||
you are not permittet to edit this contact addressbook de Sie haben keine Berechtigung diesen Kontakt zu bearbeiten
|
||||
you are not permittet to view this contact addressbook de Sie haben keine Berechtigung diesen Kontakt zu lesen.
|
||||
you are not permitted to delete contact %1 addressbook de Sie haben nicht die Berechtigungen um den Kontakt %1 zu löschen
|
||||
you are not permittet to delete this contact addressbook de Sie haben nicht die Berechtigung diesen Kontakt zu löschen
|
||||
you are not permittet to edit this contact addressbook de Sie haben nicht die Berechtigung diesen Kontakt zu bearbeiten
|
||||
you are not permittet to view this contact addressbook de Sie haben nicht die Berechtigung diesen Kontakt zu betrachen
|
||||
you can only use ldap as contact repository if the accounts are stored in ldap too! admin de Sie können LDAP nur dann zum Speichern von Kontakten verwenden, wenn die Benutzerkonten auch in LDAP gespeichert sind!
|
||||
you can respond by visiting: addressbook de Link zum Anzeigen:
|
||||
you must select a vcard. (*.vcf) addressbook de Sie müssen eine VCard auswählen (*.vcf)
|
@ -1,16 +1,14 @@
|
||||
%1 added addressbook en %1 added
|
||||
%1 contact(s) %2 addressbook en %1 contact(s) %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook en %1 contact(s) %2, %3 failed because of insufficient rights !!!
|
||||
%1 contacts updated (%2 errors). addressbook en %1 contacts updated (%2 errors).
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook en %1 contact(s) %2, %3 failed because of insufficent rights !!!
|
||||
%1 fields in %2 other organisation member(s) changed addressbook en %1 fields in %2 other organisation member(s) changed
|
||||
%1 not implemented for %2! addressbook en %1 not implemented for %2!
|
||||
%1 records imported addressbook en %1 records imported
|
||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook en %1 records read (not yet imported, you may go %2back%3 and uncheck Test Import)
|
||||
%1 starts with '%2' addressbook en %1 starts with '%2'
|
||||
%s please calculate the result addressbook en %s please calculate the result
|
||||
(e.g. 1969) addressbook en (e.g. 1969)
|
||||
(empty = use global limit, no = no export at all) admin en (empty = use global limit, no = no export at all)
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook en <b>No conversion type <none> could be located.</b> Please choose a conversion type from the list
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook en <b>No conversion type <none> could be located.</b> Please choose a conversion type from the list
|
||||
@-eval() is only availible to admins!!! addressbook en @-eval() is only availible to admins!!!
|
||||
account repository admin en Account repository
|
||||
accounts addressbook en Accounts
|
||||
@ -24,7 +22,7 @@ add a single entry by passing the fields. addressbook en Add a single entry by p
|
||||
add business email of whole distribution list? addressbook en Add business email of whole distribution list?
|
||||
add custom field addressbook en Add Custom Field
|
||||
add emails of whole distribution list? addressbook en Add emails of whole distribution list?
|
||||
add or delete categories addressbook en Add or delete Categories
|
||||
add or delete categoies addressbook en Add or delete Categoies
|
||||
add to distribution list: addressbook en Add to distribution list:
|
||||
added addressbook en added
|
||||
added by synchronisation addressbook en added by synchronisation
|
||||
@ -37,7 +35,6 @@ address line 2 addressbook en Address Line 2
|
||||
address type addressbook en Address Type
|
||||
addressbook common en Addressbook
|
||||
addressbook csv export addressbook en Addressbook CSV export
|
||||
addressbook field addressbook en Addressbook Field
|
||||
addressbook menu addressbook en Addressbook menu
|
||||
addressbook preferences addressbook en Addressbook preferences
|
||||
addressbook the contact should be saved to addressbook en Addressbook the contact should be saved to
|
||||
@ -51,11 +48,11 @@ alt. csv import addressbook en Alt. CSV Import
|
||||
always addressbook en always
|
||||
apply changes to all members, whose fields have the same previous content addressbook en Apply changes to all members, whose fields have the same previous content
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook en Apply the action on the whole query, NOT only the shown contacts!!!
|
||||
are you shure you want to delete this contact? addressbook en Are you sure you want to delete this contact?
|
||||
are you shure you want to delete this contact? addressbook en Are you shure you want to delete this contact?
|
||||
are you sure you want to delete this field? addressbook en Are you sure you want to delete this field?
|
||||
assistent addressbook en Assistent
|
||||
assistent phone addressbook en Assistent phone
|
||||
at the moment the following document-types are supported: addressbook en At the moment the following document types are supported:
|
||||
assistent phone addressbook en assistent phone
|
||||
at the moment the following document-types are supported: addressbook en At the moment the following document-types are supported:
|
||||
birthday common en Birthday
|
||||
birthdays common en Birthdays
|
||||
blank addressbook en Blank
|
||||
@ -73,9 +70,9 @@ calendar fields: addressbook en Calendar fields:
|
||||
calendar uri addressbook en Calendar URI
|
||||
can be changed via setup >> configuration admin en Can be changed via Setup >> Configuration
|
||||
car phone addressbook en Car Phone
|
||||
categorie addressbook en category
|
||||
categorie added addressbook en category added
|
||||
categorie delete addressbook en Category deleted
|
||||
categorie addressbook en categorie
|
||||
categorie added addressbook en categorie added
|
||||
categorie delete addressbook en categorie delete
|
||||
categories, notes, ... addressbook en Categories, Notes, ...
|
||||
category tree admin en Category tree
|
||||
cell phone addressbook en Mobile phone
|
||||
@ -88,7 +85,6 @@ choose owner of imported data addressbook en Choose owner of imported data
|
||||
choose seperator and charset addressbook en Choose seperator and charset
|
||||
chosse an etemplate for this contact type admin en Chosse an eTemplate for this contact type
|
||||
city common en City
|
||||
cleanup addressbook fields (apply if synchronization creates duplicates) addressbook en Cleanup address book fields (apply if synchronization creates duplicates)
|
||||
company common en Company
|
||||
company name addressbook en company name
|
||||
configuration common en Configuration
|
||||
@ -99,7 +95,6 @@ contact deleted addressbook en Contact deleted
|
||||
contact fields to show addressbook en Contact fields to show
|
||||
contact fields: addressbook en Contact fields:
|
||||
contact id addressbook en Contact ID
|
||||
contact maintenance admin en Contact maintenance
|
||||
contact modified by %1 at %2 addressbook en Contact modified by %1 at %2
|
||||
contact not found! addressbook en Contact not found!
|
||||
contact repository admin en Contact repository
|
||||
@ -118,7 +113,6 @@ country common en Country
|
||||
create new links addressbook en Create new links
|
||||
created addressbook en Created
|
||||
credit addressbook en Credit
|
||||
csv field addressbook en CSV Field
|
||||
csv-fieldname addressbook en CSV-Fieldname
|
||||
csv-filename addressbook en CSV-Filename
|
||||
custom addressbook en Custom
|
||||
@ -143,12 +137,11 @@ department common en Department
|
||||
departments addressbook en departments
|
||||
directory with documents to insert contacts addressbook en Directory with documents to insert contacts
|
||||
display contact addressbook en Display Contact
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook en Displays a reminder for birthdays on the start page (page you get when you enter eGroupWare or click on the homepage icon).
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook en Displays a remider for birthdays on the startpage (page you get when you enter eGroupWare or click on the homepage icon).
|
||||
distribution list deleted addressbook en Distribution list deleted
|
||||
distribution lists addressbook en Distribution lists
|
||||
distribution lists, ... addressbook en Distribution lists, ...
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook en Do you want a private address book, which can not be viewed by users, if you grant access to your personal address book?
|
||||
do your really want to delete this contact? addressbook en Do you really want to delete this contact?
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook en Do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook?
|
||||
do your really want to delete this contact? addressbook en Do your really want to delete this contact?
|
||||
document '%1' does not exist or is not readable for you! addressbook en Document '%1' does not exist or is not readable for you!
|
||||
doesn't matter addressbook en doesn't matter
|
||||
domestic addressbook en Domestic
|
||||
@ -161,19 +154,17 @@ edit custom field addressbook en Edit Custom Field
|
||||
edit custom fields admin en Edit Custom Fields
|
||||
edit extra account-data in the addressbook admin en Edit extra account-data in the addressbook
|
||||
edit phonenumbers - addressbook en Edit Phonenumbers -
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook en Either the configured email addresses are wrong or the mail configuration.
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook en Either the configured email addesses are wrong or the mail configuration.
|
||||
email & internet addressbook en Email & Internet
|
||||
email addresses (comma separated) to send the contact data addressbook en Email addresses (comma separated) to send the contact data
|
||||
empty admin en Empty
|
||||
empty for all addressbook en empty for all
|
||||
enable an extra private addressbook addressbook en Enable an extra private addressbook
|
||||
enclosure addressbook en Enclosure
|
||||
end addressbook en End
|
||||
enter the path to the exported file here addressbook en Enter the path to the exported file here
|
||||
error deleting the contact !!! addressbook en Error deleting the contact !!!
|
||||
error saving the contact !!! addressbook en Error saving the contact !!!
|
||||
error: the entry has been updated since you opened it for editing! addressbook en Error: the entry has been updated since you opened it for editing!
|
||||
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 en 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. You can also use a field name instead a fix value. Example: $$IFadr_one_countryname~DEUTSCHLAND~~adr_one_countryname$$
|
||||
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 en 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.
|
||||
existing links addressbook en Existing links
|
||||
export addressbook en export
|
||||
export as csv addressbook en Export as CSV
|
||||
@ -183,10 +174,9 @@ export file name addressbook en Export file name
|
||||
export from addressbook addressbook en Export from Addressbook
|
||||
export selection addressbook en Export selection
|
||||
exported addressbook en exported
|
||||
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 en Exports contacts from your Address book into a CSV File. CSV means 'Comma Separated Values'. However in the options Tab you can also choose other separators.
|
||||
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 en 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.
|
||||
extra addressbook en Extra
|
||||
extra private addressbook en Extra private
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook en failed to change %1 organisation member(s) (insufficient rights) !!!
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook en failed to change %1 organisation member(s) (insufficent rights) !!!
|
||||
fax addressbook en Fax
|
||||
fax number common en Fax Number
|
||||
field %1 has been added ! addressbook en Field %1 has been added !
|
||||
@ -196,8 +186,7 @@ fields for the csv export addressbook en Fields for the CSV export
|
||||
fields the user is allowed to edit himself admin en Fields the user is allowed to edit himself
|
||||
fields to show in address list addressbook en Fields to show in address list
|
||||
fieldseparator addressbook en Fieldseparator
|
||||
fieldseperator addressbook en Fieldseperator
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook en for more then one contact in a document use the tag page repeat!
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook en for more then one contact in a document use the tag pagerepeat!
|
||||
for read only ldap admin en for read only LDAP
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook en For serial letter use this tag. Put the content, you want to repeat between two Tags.
|
||||
freebusy uri addressbook en Freebusy URI
|
||||
@ -224,9 +213,8 @@ home zip code addressbook en Home ZIP Code
|
||||
how many contacts should non-admins be able to export admin en How many contacts should non-admins be able to export
|
||||
icon addressbook en Icon
|
||||
if accounts are already in ldap admin en if accounts are already in LDAP
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook en If you specify a directory (full vfs path) here, address book displays an action for each document. That action allows to download the specified document with the contact data inserted.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook en If you specify a document (full vfs path) here, address book displays an extra document icon for each address. That icon allows to download the specified document with the contact data inserted.
|
||||
ignore first line addressbook en Ignore first line
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook en If you specify a directory (full vfs path) here, addressbook displays an action for each document. That action allows to download the specified document with the contact data inserted.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook en If you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. That icon allows to download the specified document with the contact data inserted.
|
||||
import addressbook en Import
|
||||
import contacts addressbook en Import Contacts
|
||||
import csv-file into addressbook addressbook en Import CSV-File into Addressbook
|
||||
@ -236,15 +224,13 @@ import from ldif, csv, or vcard addressbook en Import from LDIF, CSV, or VCard
|
||||
import from outlook addressbook en Import from Outlook
|
||||
import multiple vcard addressbook en Import Multiple VCard
|
||||
import next set addressbook en Import next set
|
||||
import_instructions addressbook en 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.
|
||||
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 en Imports contacts into your Address book from a CSV File. CSV means 'Comma Separated Values'. However in the options Tab you can also choose other separators.
|
||||
import_instructions addressbook en In Netscape, open the Addressbook 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 addressbook and select <b>Export</b> from the <b>File</b> menu. The file exported will be in VCard format.
|
||||
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 en 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.
|
||||
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
|
||||
insert in document addressbook en Insert in document
|
||||
insufficent rights to delete this list! addressbook en Insufficent rights to delete this list!
|
||||
international addressbook en International
|
||||
internet addressbook en Internet
|
||||
label addressbook en Label
|
||||
last date addressbook en Last date
|
||||
last modified addressbook en last modified
|
||||
@ -285,21 +271,20 @@ 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
|
||||
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 for your selection
|
||||
new window opened to edit infolog for your selection addressbook en New window opened to edit Infolog for your selection
|
||||
next date addressbook en Next date
|
||||
no categories selected addressbook en no categories selected
|
||||
no fallback addressbook en No fallback
|
||||
no vcard addressbook en No VCard
|
||||
number addressbook en Number
|
||||
number of records to read (%1) addressbook en Number of records to read (%1)
|
||||
options for type admin en Options for type
|
||||
organisation addressbook en Organisation
|
||||
organisation addressbook en organisation
|
||||
organisations addressbook en Organisations
|
||||
organisations by departments addressbook en Organisations by departments
|
||||
organisations by location addressbook en Organisations by location
|
||||
other number addressbook en Other Number
|
||||
other phone addressbook en Other Phone
|
||||
own sorting addressbook en Own sorting
|
||||
own sorting addressbook en own sorting
|
||||
pager common en Pager
|
||||
parcel addressbook en Parcel
|
||||
participants addressbook en Participants
|
||||
@ -309,28 +294,26 @@ phone numbers common en Phone Numbers
|
||||
photo addressbook en Photo
|
||||
please enter a name for that field ! addressbook en Please enter a name for that field !
|
||||
please select only one category addressbook en Please select only one category
|
||||
please update the templatename in your customfields section! addressbook en Please update the template name in your custom fields section!
|
||||
please update the templatename in your customfields section! addressbook en Please update the templatename in your customfields section!
|
||||
postal common en Postal
|
||||
pref addressbook en pref
|
||||
preferred email address to use in distribution lists addressbook en Preferred email address to use in distribution lists
|
||||
preferred phone addressbook en preferred phone
|
||||
preferred type of email address to add for distribution lists addressbook en preferred type of email address to add for distribution lists
|
||||
prefix addressbook en Prefix
|
||||
private custom fields addressbook en Private custom fields
|
||||
public key addressbook en Public Key
|
||||
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.
|
||||
read a single entry by passing the id and fieldlist. addressbook en Read a single entry by passing the id and field list.
|
||||
read a single entry by passing the id and fieldlist. addressbook en Read a single entry by passing the id and fieldlist.
|
||||
read only addressbook en read only
|
||||
record access addressbook en Record Access
|
||||
record owner addressbook en Record owner
|
||||
region addressbook en Region
|
||||
remove selected contacts from distribution list addressbook en Remove selected contacts from distribution list
|
||||
removed from distribution list addressbook en Removed from distribution list
|
||||
removed from distribution list addressbook en removed from distribution list
|
||||
repetition addressbook en Repetition
|
||||
replacements for inserting contacts into documents addressbook en Replacements for inserting contacts into documents
|
||||
required fields * addressbook en Required fields *
|
||||
required fields * addressbook en required fields *
|
||||
role addressbook en Role
|
||||
room addressbook en Room
|
||||
search for '%1' addressbook en Search for '%1'
|
||||
@ -339,55 +322,46 @@ select a view addressbook en Select a view
|
||||
select addressbook type addressbook en Select addressbook type
|
||||
select all addressbook en Select all
|
||||
select an action or addressbook to move to addressbook en Select an action or addressbook to move to
|
||||
select an action or addressbook to move to... addressbook en Select an action or addressbook to move to...
|
||||
select migration type admin en Select migration type
|
||||
select multiple contacts for a further action addressbook en Select multiple contacts for a further action
|
||||
select phone number as prefered way of contact addressbook en Select phone number as prefered way of contact
|
||||
select phone number as prefered way of contact addressbook en select phone number as prefered way of contact
|
||||
select the type of conversion addressbook en Select the type of conversion
|
||||
select the type of conversion: addressbook en Select the type of conversion:
|
||||
select where you want to store / retrieve contacts admin en Select where you want to store / retrieve contacts
|
||||
selected contacts addressbook en Selected contacts
|
||||
seperator addressbook en Seperator
|
||||
set full name and file as field in contacts of all users (either all or only empty values) admin en Set full name and file as field in contacts of all users (either all or only empty values)
|
||||
set only full name addressbook en Set only full name
|
||||
selected contacts addressbook en selected contacts
|
||||
should the columns photo and home address always be displayed, even if they are empty. addressbook en Should the columns photo and home address always be displayed, even if they are empty.
|
||||
show addressbook en Show
|
||||
show birthday reminders on main screen addressbook en Show birthday reminders on main screen
|
||||
show infolog entries for this organisation addressbook en Show InfoLog entries for this organisation
|
||||
show the contacts of this organisation addressbook en Show the contacts of this organisation
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin en Size of popup (WxH, eg.400x300, if a popup should be used)
|
||||
stadt addressbook en Stadt
|
||||
start admin en Start
|
||||
startrecord addressbook en Startrecord
|
||||
state common en State
|
||||
street common en Street
|
||||
subject for email addressbook en Subject for email
|
||||
successfully imported %1 records into your addressbook. addressbook en Successfully imported %1 record(s) into your address book.
|
||||
successfully imported %1 records into your addressbook. addressbook en Successfully imported %1 record(s) into your addressbook.
|
||||
suffix addressbook en Suffix
|
||||
tag to mark positions for address labels addressbook en Tag to mark positions for address labels
|
||||
tel home addressbook en Tel home
|
||||
telephony integration admin en Telephone integration
|
||||
tel home addressbook en tel home
|
||||
telephony integration admin en Telephony integration
|
||||
test import (show importable records <u>only</u> in browser) addressbook en Test Import (show importable records <u>only</u> in browser)
|
||||
thank you for contacting us. addressbook en Thank you for contacting us.
|
||||
that field name has been used already ! addressbook en That field name has been used already !
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook en The anonymous user has probably no add rights for this address book.
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook en The anonymous user has probably no add rights for this addressbook.
|
||||
the anonymous user needs add rights for it! addressbook en The anonymous user needs add rights for it!
|
||||
the anonymous user needs read it! addressbook en The anonymous user needs read it!
|
||||
the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (%1full list of placeholder names%2). addressbook en The document can contain placeholder like $$n_fn$$, to be replaced with the contact data (%1full list of placeholder names%2).
|
||||
there was an error saving your data :-( addressbook en There was an error saving your data :-(
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook en This module displays a contact form, that stores directly into the address book.
|
||||
this module displays block from a adddressbook group. addressbook en This module displays Block from a Address book Group.
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook en This module displays a contactform, that stores direct into the addressbook.
|
||||
this module displays block from a adddressbook group. addressbook en This module displays Block from a Adddressbook Group.
|
||||
this person's first name was not in the address book. addressbook en This person's first name was not in the address book.
|
||||
this person's last name was not in the address book. addressbook en This person's last name was not in the address book.
|
||||
timezone addressbook en Timezone
|
||||
to many might exceed your execution-time-limit addressbook en too many might exceed your execution-time-limit
|
||||
to many might exceed your execution-time-limit addressbook en to many might exceed your execution-time-limit
|
||||
today is %1's birthday! common en Today is %1's birthday!
|
||||
tomorrow is %1's birthday. common en Tomorrow is %1's birthday.
|
||||
translation addressbook en Translation
|
||||
two of: %1 addressbook en two of: %1
|
||||
type addressbook en Type
|
||||
unique id (uid) addressbook en Unique ID (UID)
|
||||
unique id<br />(to update existing records) addressbook en Unique ID<br />(to update existing records)
|
||||
update a single entry by passing the fields. addressbook en Update a single entry by passing the fields.
|
||||
update fields by edited organisations? admin en Update Fields by edited organisations?
|
||||
updated addressbook en Updated
|
||||
@ -396,24 +370,23 @@ url to link telephone numbers to (use %1 = number to call, %u = account name, %t
|
||||
use an extra category tab? addressbook en Use an extra category tab?
|
||||
use an extra tab for private custom fields? admin en Use an extra tab for private custom fields?
|
||||
use country list addressbook en Use Country List
|
||||
use setup for a full account-migration admin en Use setup for a full account-migration
|
||||
use this tag for addresslabels. put the content, you want to repeat, between two tags. addressbook en Use this tag for address labels. Put the content, you want to repeat, between two tags.
|
||||
used for links and for the own sorting of the list addressbook en Used for links and for the own sorting of the list
|
||||
vcard common en vCard
|
||||
vcards require a first name entry. addressbook en vCards require a first name entry.
|
||||
vcards require a last name entry. addressbook en vCards require a last name entry.
|
||||
use setup for a full account-migration admin en use setup for a full account-migration
|
||||
used for links and for the own sorting of the list addressbook en used for links and for the own sorting of the list
|
||||
vcard common en VCard
|
||||
vcards require a first name entry. addressbook en VCards require a first name entry.
|
||||
vcards require a last name entry. addressbook en Vcards require a last name entry.
|
||||
verification addressbook en Verification
|
||||
view linked infolog entries addressbook en View linked InfoLog entries
|
||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin en WARNING!! LDAP is valid only if you are NOT using contacts for accounts storage!
|
||||
warning: all contacts found will be deleted! addressbook en WARNING: All contacts found will be deleted!
|
||||
warning: template "%1" not found, using default template instead. addressbook en WARNING: Template "%1" not found, using default template instead.
|
||||
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 What should links to the address book display in other applications. Empty values will be left out. You need to log in anew, if you change this setting!
|
||||
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 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!
|
||||
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 Which address format should the address book 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.
|
||||
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook en Which address book should be selected when adding a contact AND you have no add rights to the current address book.
|
||||
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 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.
|
||||
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook en Which addressbook should be selected when adding a contact AND you have no add rights to the current addressbook.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook en Which charset should be used for the CSV export. The system default is the charset of this eGroupWare installation.
|
||||
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 en Which fields should be exported. All means every field stored in the address book incl. the custom fields. The business or home address only contains name, company and the selected address.
|
||||
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 en 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.
|
||||
whole query addressbook en whole query
|
||||
work email if given, else home email addressbook en Work email if given, else home email
|
||||
work phone addressbook en Work Phone
|
||||
@ -424,12 +397,12 @@ yes, for the next two weeks addressbook en Yes, for the next two weeks
|
||||
yes, for the next week addressbook en Yes, for the next week
|
||||
yes, for today and tomorrow addressbook en Yes, for today and tomorrow
|
||||
you are not permitted to delete contact %1 addressbook en You are not permitted to delete contact %1
|
||||
you are not permittet to delete this contact addressbook en You are not permitted to delete this contact
|
||||
you are not permittet to edit this contact addressbook en You are not permitted to edit this contact
|
||||
you are not permittet to view this contact addressbook en You are not permitted to view this contact
|
||||
you are not permittet to delete this contact addressbook en You are not permittet to delete this contact
|
||||
you are not permittet to edit this contact addressbook en You are not permittet to edit this contact
|
||||
you are not permittet to view this contact addressbook en you are not permittet to view this contact
|
||||
you can only use ldap as contact repository if the accounts are stored in ldap too! admin en You can only use LDAP as contact repository if the accounts are stored in LDAP too!
|
||||
you can respond by visiting: addressbook en To view it visit:
|
||||
you must select a vcard. (*.vcf) addressbook en You must select a vCard. (*.vcf)
|
||||
you must select a vcard. (*.vcf) addressbook en You must select a vcard. (*.vcf)
|
||||
you must select at least 1 column to display addressbook en You must select at least 1 column to display
|
||||
you need to select a distribution list addressbook en You need to select a distribution list
|
||||
you need to select some contacts first addressbook en You need to select some contacts first
|
@ -1,9 +1,7 @@
|
||||
%1 added addressbook es-es %1 añadidos
|
||||
%1 contact(s) %2 addressbook es-es %1 contactos %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook es-es %1 contactos %2, %3 fallaron debido a privilegios insuficientes.
|
||||
%1 contacts updated (%2 errors). addressbook es-es Se han actualizado %1 contactos (%2 errores).
|
||||
%1 fields in %2 other organisation member(s) changed addressbook es-es %1 campos en %2 miembros de otra organización cambiados
|
||||
%1 not implemented for %2! addressbook es-es %1 no está implementado para %2!
|
||||
%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 starts with '%2' addressbook es-es %1 empieza por '%2'
|
||||
@ -24,7 +22,7 @@ add a single entry by passing the fields. addressbook es-es Añadir una entrada
|
||||
add business email of whole distribution list? addressbook es-es ¿Añadir el correo electrónico de la empresa de toda la lista de distribución?
|
||||
add custom field addressbook es-es Añadir campo personalizado
|
||||
add emails of whole distribution list? addressbook es-es ¿Añadir los correos de toda la lista de distribución?
|
||||
add or delete categories addressbook es-es Añadir o borrar Categorías
|
||||
add or delete categoies addressbook es-es Añadir o borrar Categorías
|
||||
add to distribution list: addressbook es-es Añadir a la lista de distribución:
|
||||
added addressbook es-es añadido
|
||||
added by synchronisation addressbook es-es Añadido por sincronización
|
||||
@ -37,7 +35,6 @@ address line 2 addressbook es-es Línea 2 de la dirección
|
||||
address type addressbook es-es Tipo de dirección
|
||||
addressbook common es-es Libreta de direcciones
|
||||
addressbook csv export addressbook es-es Exportar a CSV la libreta de direcciones
|
||||
addressbook field addressbook es-es Campo de la libreta de direcciones
|
||||
addressbook menu addressbook es-es Menú de la libreta de direcciones
|
||||
addressbook preferences addressbook es-es Preferencias de la libreta de direcciones
|
||||
addressbook the contact should be saved to addressbook es-es Libreta de direcciones en la que guardar el contacto
|
||||
@ -88,7 +85,6 @@ choose owner of imported data addressbook es-es Elija el propietario de los dato
|
||||
choose seperator and charset addressbook es-es Elija el separador y el juego de caracteres
|
||||
chosse an etemplate for this contact type admin es-es Elija una plantilla para este tipo de contacto
|
||||
city common es-es Ciudad
|
||||
cleanup addressbook fields (apply if synchronization creates duplicates) addressbook es-es Limpiar los campos de la libreta de direcciones (aplicar si la sincronización crea duplicados)
|
||||
company common es-es Empresa
|
||||
company name addressbook es-es Nombre de la empresa
|
||||
configuration common es-es Configuración
|
||||
@ -99,7 +95,6 @@ contact deleted addressbook es-es Se ha borrado el contacto
|
||||
contact fields to show addressbook es-es Campos del contacto a mostrar
|
||||
contact fields: addressbook es-es Campos del contacto:
|
||||
contact id addressbook es-es ID del contacto
|
||||
contact maintenance admin es-es Mantenimiento del contacto
|
||||
contact modified by %1 at %2 addressbook es-es Contacto modificado por %1 el %2
|
||||
contact not found! addressbook es-es ¡No se encontró el contacto!
|
||||
contact repository admin es-es Repositorio de contactos
|
||||
@ -118,8 +113,7 @@ country common es-es País
|
||||
create new links addressbook es-es Crear enlaces nuevos
|
||||
created addressbook es-es Creado
|
||||
credit addressbook es-es Crédito
|
||||
csv field addressbook es-es Campo CSV
|
||||
csv-fieldname addressbook es-es Nombre de campo CSV
|
||||
csv-fieldname addressbook es-es Campo CSV
|
||||
csv-filename addressbook es-es Archivo CSV
|
||||
custom addressbook es-es Personalizado
|
||||
custom etemplate for the contactform addressbook es-es Plantilla personalizada para el formulario del contacto
|
||||
@ -146,7 +140,6 @@ 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 lists addressbook es-es Listas de distribución
|
||||
distribution lists, ... addressbook es-es Listas de distribución, ...
|
||||
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)?
|
||||
do your really want to delete this contact? addressbook es-es ¿Realmente desea borrar este contacto?
|
||||
document '%1' does not exist or is not readable for you! addressbook es-es El documento '%1' no existe o usted no tiene permiso para leerlo
|
||||
@ -164,10 +157,8 @@ edit phonenumbers - addressbook es-es Editar números de teléfono -
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook es-es Las direcciones de correo electrónico configuradas o la configuración del correo es incorrecta
|
||||
email & internet addressbook es-es Correo electrónico e Internet
|
||||
email addresses (comma separated) to send the contact data addressbook es-es Direcciones de correo electrónico (separadas por comas) para enviar los datos del contacto
|
||||
empty admin es-es Vacío
|
||||
empty for all addressbook es-es vacío para todo
|
||||
enable an extra private addressbook addressbook es-es Activar una libreta de direcciones privada extra
|
||||
enclosure addressbook es-es Envoltura
|
||||
end addressbook es-es Fin
|
||||
enter the path to the exported file here addressbook es-es Introduzca aquí la ruta a los ficheros exportados
|
||||
error deleting the contact !!! addressbook es-es ¡Error al borrar el contacto!
|
||||
@ -185,7 +176,6 @@ export selection addressbook es-es Exportar la selección
|
||||
exported addressbook es-es exportada
|
||||
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 es-es Exporta los contactos de su libreta de direcciones en un fichero CSV. CSV significa 'Comma Separated Values' (valores separados por comas). Sin embargo, en la pestaña de opciones se pueden elegir otros separadores.
|
||||
extra addressbook es-es Extra
|
||||
extra private addressbook es-es Extra privado
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook es-es Fallo al cambiar %1 miembros de la organización ¡No tiene privilegios suficientes!
|
||||
fax addressbook es-es Fax
|
||||
fax number common es-es Número de fax
|
||||
@ -196,7 +186,6 @@ 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 show in address list addressbook es-es Campos a mostrar en la lista de direcciones
|
||||
fieldseparator addressbook es-es Separador de campos
|
||||
fieldseperator addressbook es-es Separador de campos
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook es-es para más de un contacto en un documento use la etiqueta pagerepeat
|
||||
for read only ldap admin es-es para LDAP de sólo lectura
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook es-es Para carta de serie use esta etiqueta. Ponga el contenido que quiera repetir entre dos etiquetas.
|
||||
@ -226,7 +215,6 @@ icon addressbook es-es Icono
|
||||
if accounts are already in ldap admin es-es si las cuentas ya están en LDAP
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook es-es Si especifica un directorio (ruta completa vfs) aquí, la libreta de direcciones muestra una acción para cada documento. Esa acción permite descargar el documento especificado con los datos del contacto insertados.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook es-es Si especifica un documento (ruta completa vfs) aquí, la libreta de direcciones muestra un icono de documento extra para cada dirección. Ese icono permite descargar el documento especificado con los datos del contacto insertados.
|
||||
ignore first line addressbook es-es Ignorar la primera línea
|
||||
import addressbook es-es Importar
|
||||
import contacts addressbook es-es Importar contactos
|
||||
import csv-file into addressbook addressbook es-es Importar archivo CSV en la Libreta de direcciones
|
||||
@ -240,11 +228,9 @@ import_instructions addressbook es-es Si usa Mozilla o Netscape, abra la libreta
|
||||
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 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
|
||||
infolog addressbook es-es Registro de tareas
|
||||
insert in document addressbook es-es Insertar en el documento
|
||||
insufficent rights to delete this list! addressbook es-es No tiene privilegios suficientes para borrar esta lista
|
||||
international addressbook es-es Internacional
|
||||
internet addressbook es-es Internet
|
||||
label addressbook es-es Etiqueta
|
||||
last date addressbook es-es Última fecha
|
||||
last modified addressbook es-es última modificación
|
||||
@ -288,7 +274,6 @@ 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 fallback addressbook es-es Sin respaldo
|
||||
no vcard addressbook es-es Sin VCard
|
||||
number addressbook es-es Número
|
||||
number of records to read (%1) addressbook es-es Número de registros a leer (%1)
|
||||
@ -316,7 +301,6 @@ preferred email address to use in distribution lists addressbook es-es Direcció
|
||||
preferred phone addressbook es-es teléfono preferido
|
||||
preferred type of email address to add for distribution lists addressbook es-es Tipo preferido de dirección de correo electrónico para añadir a las listas de distribución
|
||||
prefix addressbook es-es Prefijo
|
||||
private custom fields addressbook es-es Campos personalizados privados
|
||||
public key addressbook es-es Clave pública
|
||||
publish into groups: addressbook es-es Publicar en los grupos:
|
||||
read a list / search for entries. addressbook es-es Leer una lista / buscar entradas
|
||||
@ -325,7 +309,6 @@ read a single entry by passing the id and fieldlist. addressbook es-es Leer una
|
||||
read only addressbook es-es sólo lectura
|
||||
record access addressbook es-es Acceso al registro
|
||||
record owner addressbook es-es Propietario del registro
|
||||
region addressbook es-es Región
|
||||
remove selected contacts from distribution list addressbook es-es Eliminar los contactos seleccionados de la lista de distribución
|
||||
removed from distribution list addressbook es-es eliminados de la lista de distribución
|
||||
repetition addressbook es-es Repetición
|
||||
@ -339,7 +322,6 @@ select a view addressbook es-es Seleccionar una vista
|
||||
select addressbook type addressbook es-es Seleccionar el tipo de libreta de direcciones
|
||||
select all addressbook es-es Seleccionar todo
|
||||
select an action or addressbook to move to addressbook es-es Seleccionar una acción o libreta de direcciones a la que mover
|
||||
select an action or addressbook to move to... addressbook es-es Seleccionar una acción o libreta de direcciones a la que mover...
|
||||
select migration type admin es-es Seleccionar el tipo de migración
|
||||
select multiple contacts for a further action addressbook es-es Seleccionar múltiples contactos para una acción posterior
|
||||
select phone number as prefered way of contact addressbook es-es Seleccionar el número de teléfono como forma preferida de contacto
|
||||
@ -347,16 +329,12 @@ select the type of conversion addressbook es-es Seleccione el tipo de conversió
|
||||
select the type of conversion: addressbook es-es Seleccione el tipo de conversión:
|
||||
select where you want to store / retrieve contacts admin es-es Seleccione dónde desea almacenar o recuperar contactos
|
||||
selected contacts addressbook es-es Contactos seleccionados
|
||||
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
|
||||
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 birthday reminders on main screen addressbook es-es Mostrar recordatorios de cumpleaños en la pantalla principal
|
||||
show infolog entries for this organisation addressbook es-es Mostrar las entradas del Registro de notas y tareas para esta organización
|
||||
show the contacts of this organisation addressbook es-es Mostrar los contactos de esta organización
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin es-es Tamaño de la ventana (ancho x alto, p.ej. 400x300, si se usa una ventana emergente)
|
||||
stadt addressbook es-es Estado
|
||||
start admin es-es Empezar
|
||||
startrecord addressbook es-es Registro inicial
|
||||
state common es-es Provincia
|
||||
@ -364,7 +342,6 @@ street common es-es Calle
|
||||
subject for email addressbook es-es Asunto para el correo electrónico
|
||||
successfully imported %1 records into your addressbook. addressbook es-es Se han importado correctamnte %1 registros en la libreta de direcciones.
|
||||
suffix addressbook es-es Sufijo
|
||||
tag to mark positions for address labels addressbook es-es Etiqueta para marcar las posiciones para las etiquetas de direcciones
|
||||
tel home addressbook es-es teléfono particular
|
||||
telephony integration admin es-es Integración con telefonía
|
||||
test import (show importable records <u>only</u> in browser) addressbook es-es Test de Importación (mostrar los registros que se pueden importar <b>sólo</b> en el navegador)
|
||||
@ -384,10 +361,7 @@ to many might exceed your execution-time-limit addressbook es-es a cuánto puede
|
||||
today is %1's birthday! common es-es ¡Hoy es el cumpleaños de %1!
|
||||
tomorrow is %1's birthday. common es-es ¡Mañana es el cumpleaños de %1!
|
||||
translation addressbook es-es Traducción
|
||||
two of: %1 addressbook es-es dos de: %1
|
||||
type addressbook es-es Tipo
|
||||
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)
|
||||
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
|
||||
@ -397,7 +371,6 @@ use an extra category tab? addressbook es-es ¿Usar una pestaña extra para cate
|
||||
use an extra tab for private custom fields? admin es-es ¿Usar una pestaña extra para campos personalizados privados?
|
||||
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
|
||||
vcard common es-es Tarjeta de visita
|
||||
vcards require a first name entry. addressbook es-es Las tarjetas de visita requieren el primer nombre.
|
322
addressbook/setup/egw_fi.lang
Normal file
322
addressbook/setup/egw_fi.lang
Normal file
@ -0,0 +1,322 @@
|
||||
%1 added addressbook fi %1 lisätty
|
||||
%1 contact(s) %2 addressbook fi %1 yhteystieto(a) %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook fi %1 yhteystieto(a) %2, %3 epäonnistui puutteellisien oikeuksien takia !!!
|
||||
%1 fields in %2 other organisation member(s) changed addressbook fi %1 kenttiä %2:ssa muun organisaation jäsen(iä) on muutettu
|
||||
%1 records imported addressbook fi %1 tietuetta tuotu
|
||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook fi %1 tietuetta luettu (ei vielä tuotu, voit %2palata%3 takaisin ja poistaa valinnan Testaa tuontia)
|
||||
%1 starts with '%2' addressbook fi %1 alkaa %2
|
||||
(e.g. 1969) addressbook fi (esim. 1969)
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook fi <b>Muunnostyyppiä <none> ei löydy.</b> Valitse muunnostyyppi
|
||||
@-eval() is only availible to admins!!! addressbook fi @-eval() on vain ylläpitäjien käytettävissä!
|
||||
account repository admin fi Käyttäjätilien varasto
|
||||
accounts addressbook fi Käyttäjätunnukset
|
||||
actions addressbook fi Toimenpiteet
|
||||
add %1 addressbook fi Lisää %1
|
||||
add a contact to this organisation addressbook fi Lisää yhteystieto tähän organisaatioon
|
||||
add a new contact addressbook fi Lisää uusi yhteystieto
|
||||
add a new list addressbook fi Lisää uusi lista
|
||||
add a single entry by passing the fields. addressbook fi Lisää yksittäinen tietue antamalla kentät.
|
||||
add business email of whole distribution list? addressbook fi Lisää työsähköpostiosoite koko jakelulistalle
|
||||
add custom field addressbook fi Lisää oma kenttä
|
||||
add to distribution list: addressbook fi Lisää jakelulista
|
||||
added by synchronisation addressbook fi lisätty synckronoinnin yhteydessä
|
||||
added to distribution list addressbook fi lisätty jakelulistalle
|
||||
additional information about using ldap as contact repository admin fi Valinnaista tietoa LDAP:n käyttämisestä yhteystietojen varastona.
|
||||
address book common fi Osoitekirja
|
||||
address book - vcard in addressbook fi Osoitekirja - VCard kohteessa
|
||||
address book - view addressbook fi Osoitekirja - näytä
|
||||
address line 2 addressbook fi Osoite rivi 1
|
||||
address type addressbook fi Osoitteen laji
|
||||
addressbook common fi Osoitekirja
|
||||
addressbook csv export addressbook fi Osoitekirjan vienti CSV:hen
|
||||
addressbook menu addressbook fi Osoitekirjan valikko
|
||||
addressbook preferences addressbook fi Osoitekirjan asetukset
|
||||
addressbook the contact should be saved to addressbook fi Osoitekirjan yhteystiedot tulisi tallentaa
|
||||
addressbook-fieldname addressbook fi Osoitekirja - kentän nimi
|
||||
addvcard addressbook fi Lisää VCard
|
||||
advanced search addressbook fi Tarkempi haku
|
||||
all contacts addressbook fi Kaikki yhteystiedot
|
||||
allow users to maintain their own account-data admin fi Salli käyttäjän tuoda omia asiakastietoja
|
||||
alt. csv import addressbook fi Alt. CSV Tuonti
|
||||
always addressbook fi aina
|
||||
apply changes to all members, whose fields have the same previous content addressbook fi Hyväksy muutos kaikille jäsenillä, joilla on kentässä sama sisältö entuudestaan
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook fi Hyväksy tämä toiminto koko kyselylle, EI vain niille jotka näkyvät yhteystiedoissa!!!
|
||||
are you shure you want to delete this contact? addressbook fi Oletko varma että haluat poistaa tämän kontaktin?
|
||||
are you sure you want to delete this field? addressbook fi Haluatko poistaa kentän?
|
||||
assistent addressbook fi Assistantti
|
||||
assistent phone addressbook fi assistantin puhelin
|
||||
birthday common fi Syntymäpäivä
|
||||
birthdays common fi Syntymäpäivät
|
||||
blank addressbook fi Tyhjä
|
||||
business common fi Työ
|
||||
business address addressbook fi Osoite
|
||||
business city addressbook fi Kaupunki
|
||||
business country addressbook fi Maa
|
||||
business email addressbook fi Sähköposti
|
||||
business fax addressbook fi Fax
|
||||
business phone addressbook fi Puhelin
|
||||
business state addressbook fi Lääni
|
||||
business street addressbook fi Katuosoite
|
||||
business zip code addressbook fi Postinumero
|
||||
calendar uri addressbook fi Kalenterin URL
|
||||
can be changed via setup >> configuration admin fi Voidaan vaihtaa Asetukset >> Konfigurointi
|
||||
car phone addressbook fi Autopuhelin
|
||||
categories, notes, ... addressbook fi Kategoriat, muistiot, ...
|
||||
cell phone addressbook fi Matkapuhelin
|
||||
change all organisation members addressbook fi vaihda kaikki organisaation jäsenet
|
||||
charset for the csv export addressbook fi CSV viennissä käytettävä merkistö
|
||||
charset of file addressbook fi Tiedoston merkistö
|
||||
check all addressbook fi Tarkista kaikki
|
||||
choose an icon for this contact type admin fi Valitse kuvake tälle yhteystietotyypille
|
||||
chosse an etemplate for this contact type admin fi Valitse eMallipojha tälle yhteystietotyypille
|
||||
city common fi Kaupunki
|
||||
company common fi Yritys
|
||||
company name addressbook fi Yrityksen nimi
|
||||
configuration common fi Konfiguraatio
|
||||
contact common fi Yhteystiedot
|
||||
contact application admin fi Yhteystietojen hallinta
|
||||
contact copied addressbook fi Yhteystieto kopioitu
|
||||
contact deleted addressbook fi Yhteystieto poistettu
|
||||
contact id addressbook fi Yhteystiedon ID
|
||||
contact repository admin fi Yhteystietojen varasto
|
||||
contact saved addressbook fi Kontakti tallennettu
|
||||
contact settings admin fi Yhteystiedot - asetukset
|
||||
contacts and account contact-data to ldap admin fi yhteystiedot ja käyttäjätilien yhteystiedot LDAP:sta
|
||||
contacts to ldap admin fi yhteystiedot LDAP:sta
|
||||
contacts to ldap, account contact-data to sql admin fi Yhteystiedot LDAP:ssa, käyttäjätilien yhteysttiedot SQL:ssä
|
||||
contains addressbook fi sisältää
|
||||
copied by %1, from record #%2. addressbook fi Kopioinut %1 tietueesta #%2.
|
||||
copy a contact and edit the copy addressbook fi Kopioi yhteystieto ja muokkaa kopiota
|
||||
country common fi Maa
|
||||
create new links addressbook fi Luo uusia linkkejä
|
||||
created addressbook fi Luotu
|
||||
credit addressbook fi Luotto
|
||||
csv-fieldname addressbook fi CSV-kentän nimi
|
||||
csv-filename addressbook fi CSV-tiedoston nimi
|
||||
custom addressbook fi Oma
|
||||
custom fields addressbook fi Omat kentät
|
||||
debug output in browser addressbook fi Virheenselvitys selaimessa
|
||||
default address format addressbook fi Oletus osoitteen muoto
|
||||
default addressbook for adding contacts addressbook fi Oletus osoitekirja johon yhteystiedot tallennetaan
|
||||
default filter addressbook fi Oletusrajaus
|
||||
delete a single entry by passing the id. addressbook fi Poista tietue antamalla sen tunniste
|
||||
delete selected distribution list! addressbook fi Poista valittu jakelulista
|
||||
delete this contact addressbook fi Poista tämä yhteystieto
|
||||
delete this organisation including all its contacts addressbook fi Poista tämä organisaatio ja KAIKKI sen sisältämät yhteystiedot.
|
||||
deleted addressbook fi poistettu
|
||||
deletes the photo addressbook fi Poistetaan kuva
|
||||
department common fi Osasto
|
||||
departments addressbook fi osastot
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook fi Näytä etusivulla syntymäpäivien muistutus (sivu joka avautuu kun kirjaudut eGroupWareen tai painat Etusivun kuvaketta).
|
||||
distribution list deleted addressbook fi Jakelulista poistettu
|
||||
distribution lists addressbook fi Jakelulistat
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook fi Haluatko yksityisen osoitekirjan, jota muut käyttäjät eivät näe?
|
||||
do your really want to delete this contact? addressbook fi Haluatko varmasti poistaa tämän kontaktin?
|
||||
doesn't matter addressbook fi Ei väliä
|
||||
domestic addressbook fi Kotimainen
|
||||
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
|
||||
edit custom field addressbook fi Muokkaa oma kenttä
|
||||
edit custom fields admin fi Muokka omia kenttiä
|
||||
edit extra account-data in the addressbook admin fi Muokkaa käyttäjän omia asiakastietoja osoitekirjassa
|
||||
edit phonenumbers - addressbook fi Muokkaa puhelinnumeroita
|
||||
email & internet addressbook fi Sähköposti Ja Internet
|
||||
empty for all addressbook fi tyhjä kaikille
|
||||
enable an extra private addressbook addressbook fi Salli ylimääräinen, henkilökohtainen osoitekirja
|
||||
enter the path to the exported file here addressbook fi Anna viedyn tiedoston polku
|
||||
error deleting the contact !!! addressbook fi Virhe poistettaessa yhteystietoa !!!
|
||||
error saving the contact !!! addressbook fi Virhe tallennettaessa yhteystietoa !!!
|
||||
existing links addressbook fi Olemassaolevat linkit
|
||||
export addressbook fi Vie
|
||||
export as csv addressbook fi Vie CSV muodossa
|
||||
export as vcard addressbook fi Vie VCard muodossa
|
||||
export contacts addressbook fi Vie yhteystiedot
|
||||
export file name addressbook fi Vie tiedostoon
|
||||
export from addressbook addressbook fi Vie osoitekirjasta
|
||||
export selection addressbook fi Vie valinnat
|
||||
exported addressbook fi viety
|
||||
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 fi Vie osoitekirjan yhteystiedot CSV tiedostoon. CVS (Comma Seperated Values) tarkoittaa pilkulla erotettua muotoilua. Voit valita Asetukset välilehdeltä myös muita erotustapoja.
|
||||
extra addressbook fi Lisätiedot
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook fi %1 organisaation jäsen(ien) muutos epäonnistui (Puutteelliset oikeudet) !!!
|
||||
fax addressbook fi Faksi
|
||||
fax number common fi Faksi
|
||||
field %1 has been added ! addressbook fi Kenttä %1 on lisätty!
|
||||
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 show in address list addressbook fi Osoitelistan kentät
|
||||
fieldseparator addressbook fi Kenttäerotin
|
||||
for read only ldap admin fi vain luku LDAP:sta
|
||||
freebusy uri addressbook fi Freebusy URI
|
||||
full name addressbook fi Koko nimi
|
||||
general addressbook fi Yleinen
|
||||
geo addressbook fi GEO
|
||||
global categories addressbook fi Yleiset kategoriat
|
||||
grant addressbook access common fi Anna pääsy osoitekirjaan
|
||||
group %1 addressbook fi Ryhmä %1
|
||||
hide accounts from addressbook addressbook fi Piiloita käyttäjätilit osoitekirjasta
|
||||
hides accounts completly from the adressbook. addressbook fi Piiloita käyttäjätilit kokonaan osoitekirjasta.
|
||||
home address addressbook fi Kotiosoite
|
||||
home address, birthday, ... addressbook fi Kotiosoite, syntymäpäivä
|
||||
home city addressbook fi Kaupunki
|
||||
home country addressbook fi Maa
|
||||
home email addressbook fi Sähköposti
|
||||
home phone addressbook fi Puhelin
|
||||
home state addressbook fi Lääni
|
||||
home street addressbook fi Katuosoite
|
||||
home zip code addressbook fi Postinumero
|
||||
how many contacts should non-admins be able to export (empty = no limit) admin fi Kuinka monta yhteystietoa muut kuin pääkäyttäjät voivat viedä kerralla (jätä tyhjäksi jollet halua rajoituksia)
|
||||
icon addressbook fi Kuvake
|
||||
if accounts are already in ldap admin fi jos käyttäjätili on jo LDAP:ssa
|
||||
import addressbook fi Tuonti
|
||||
import contacts addressbook fi Tuo yhteystiedot
|
||||
import csv-file into addressbook addressbook fi Tuo CSV-tiedosto osoitekirjaan
|
||||
import file addressbook fi Tuo tiedostosta
|
||||
import from addressbook fi Tuo kohteesta:
|
||||
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 next set addressbook fi Tuo seuraava ryhmä
|
||||
import_instructions addressbook fi Netscapessa: Avaa Addressbook ja valitse <b>File</b> -valikosta <b>Export</b> .<br>Syntyvä tiedosto on LDIF -muodossa.<P>Outlookissa: valitse Yhteystiedot -kansio, valitse <b>Tiedosto</b> -valikosta
|
||||
in %1 days (%2) is %3's birthday. addressbook fi %1 päivää (%2) on %3:n syntymäpäivä
|
||||
income addressbook fi Tulossa
|
||||
insufficent rights to delete this list! addressbook fi Puuttelliset oikeudet listan poistamiseksi!
|
||||
international addressbook fi Kansainvälinen
|
||||
label addressbook fi Nimikenttä
|
||||
last modified addressbook fi Viimeksi muokattu
|
||||
last modified by addressbook fi viimeksi muokannut
|
||||
ldap context for contacts admin fi LDAP-konteksti
|
||||
ldap host for contacts admin fi LDAP-palvelin
|
||||
ldap settings for contacts admin fi Yhteystietojen LDAP asetukset
|
||||
ldif addressbook fi LDIF
|
||||
line 2 addressbook fi Rivi 2
|
||||
link title for contacts show addressbook fi Linkitä otsikko näyttämää yhteystieto
|
||||
links addressbook fi Linkit
|
||||
list all categories addressbook fi Näytä kaikki kategoriat
|
||||
list all customfields addressbook fi Näytä kaikki omat kentät
|
||||
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äonnistu, ei riittävästi oikeuksia!
|
||||
load vcard addressbook fi Lataa VCard
|
||||
locations addressbook fi sijainnit
|
||||
mark records as private addressbook fi Mark records as private
|
||||
message phone addressbook fi Vastaajapalvelu
|
||||
middle name addressbook fi Toimen nimi
|
||||
migration finished addressbook fi Sulauttaminen valmis
|
||||
migration to ldap admin fi Sulauta LDAP:iin
|
||||
mobile addressbook fi GSM
|
||||
mobile phone addressbook fi Matkapuhelin
|
||||
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
|
||||
name for the distribution list addressbook fi Nimeä jakelulista
|
||||
name, address addressbook fi Nimi, osoite
|
||||
no vcard addressbook fi Ei VCard
|
||||
number addressbook fi Numero
|
||||
number of records to read (%1) addressbook fi Luettavien tietueiden määrä (%1)
|
||||
options for type admin fi Option muoto
|
||||
organisation addressbook fi Organisaatio
|
||||
organisations addressbook fi Organisaatiot
|
||||
organisations by departments addressbook fi Organisaatiot osastoittain
|
||||
organisations by location addressbook fi Organisaatiot sijainneittain
|
||||
other number addressbook fi Muu numero
|
||||
other phone addressbook fi Muu puhelin
|
||||
own sorting addressbook fi oma lajittelu
|
||||
pager common fi Hakulaite
|
||||
parcel addressbook fi Paketti
|
||||
permission denied !!! addressbook fi Pääsy estetty !!!
|
||||
phone number common fi Puhelinnumero
|
||||
phone numbers common fi Puhelinnumerot
|
||||
photo addressbook fi Kuva
|
||||
please enter a name for that field ! addressbook fi Anna kentän nimi!
|
||||
please select only one category addressbook fi Valitse kategoria
|
||||
postal common fi Postal
|
||||
pref addressbook fi etuliite
|
||||
preferred phone addressbook fi ensisijainen puhelin
|
||||
prefix addressbook fi Etuliite
|
||||
public key addressbook fi Julkinen avain
|
||||
publish into groups: addressbook fi Julkaise ryhmissä
|
||||
read a list / search for entries. addressbook fi Lue luettelo / hae tietueita
|
||||
read a list of entries. addressbook fi Lue tietueiden luettelo
|
||||
read a single entry by passing the id and fieldlist. addressbook fi Lue yksittäinen tietue antamalla tunniste ja kenttäluettelo.
|
||||
read only addressbook fi Vain luku
|
||||
record access addressbook fi Lukuoikeus
|
||||
record owner addressbook fi Omistaja
|
||||
remove selected contacts from distribution list addressbook fi Poista valitut yhteystiedot jakelulistalta
|
||||
removed from distribution list addressbook fi poistettu jakelulistalta
|
||||
role addressbook fi Rooli
|
||||
room addressbook fi Tila
|
||||
search for '%1' addressbook fi haku '%1'
|
||||
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook fi Valitse jpeg muodossa oleva kuva. Se muokataan 60 pikseliä korkeaksi kuvaksi.
|
||||
select a view addressbook fi Valitse näkymä
|
||||
select addressbook type addressbook fi Valitse osoitekirjan muoto
|
||||
select all addressbook fi Valitse kaikki
|
||||
select an action or addressbook to move to addressbook fi Valitse toiminto tai osoitekirja siirrettäväksi
|
||||
select migration type admin fi Valitse sulautus tapa
|
||||
select multiple contacts for a further action addressbook fi Suorita valituille yhteystiedoille seuraava toiminto
|
||||
select phone number as prefered way of contact addressbook fi valitse puhelinnumero ensisijaiseksi yhteydenotto tavaksi yhteystiedolle
|
||||
select the type of conversion addressbook fi Valitse muunnoksen tyyppi
|
||||
select the type of conversion: addressbook fi Valitse muunnoksen tyyppi:
|
||||
select where you want to store / retrieve contacts admin fi Valitse minne varastoit / mistä palautat yhteystiedot
|
||||
selected contacts addressbook fi valitse yhteystiedot
|
||||
should the columns photo and home address always be displayed, even if they are empty. addressbook fi Näytetäänkö kuva ja kotiosoite sarake aina, vaikka ne olisivat tyhjiä.
|
||||
show addressbook fi Näytä
|
||||
show birthday reminders on main screen addressbook fi Näytä syntymäpäivämuistutukset päänäytöllä
|
||||
show infolog entries for this organisation addressbook fi Näytä InfoLogin merkinnät tästä organisaatiosta
|
||||
show the contacts of this organisation addressbook fi Näytä tämän organisaation yhteystiedot
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin fi Popup ikkunan koko (K x L, esim 400 x 300, jos popup ikkunat ovat käytössä)
|
||||
start admin fi Aloita
|
||||
startrecord addressbook fi Aloitustietue
|
||||
state common fi Osavaltio
|
||||
street common fi Katuosoite
|
||||
successfully imported %1 records into your addressbook. addressbook fi Tuotiin %1 tietuetta osoitekirjaan.
|
||||
suffix addressbook fi Jälkiliite
|
||||
tel home addressbook fi Kotipuhelin
|
||||
telephony integration admin fi Puhelinintegrointi
|
||||
test import (show importable records <u>only</u> in browser) addressbook fi Testaa tuontia (näytä tuotavat tietueet <u>vain</u> selaimessa)
|
||||
that field name has been used already ! addressbook fi Kentän nimi on jo käytössä!
|
||||
this person's first name was not in the address book. addressbook fi Etunimeä ei ole osoitekirjassa.
|
||||
this person's last name was not in the address book. addressbook fi Sukunimeä ei ole osoitekirjassa.
|
||||
timezone addressbook fi Aikavyöhyke
|
||||
to many might exceed your execution-time-limit addressbook fi liian moni saattaa ylittää suoritusajan
|
||||
today is %1's birthday! common fi Tänään syntymäpäiväänsä viettää %1!
|
||||
tomorrow is %1's birthday. common fi Huomenna syntymäpäiväänsä viettää %1.
|
||||
translation addressbook fi Käännös
|
||||
type addressbook fi Muoto
|
||||
update a single entry by passing the fields. addressbook fi Päivitä yksittäistä tietuetta antamalla kentät.
|
||||
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 an extra category tab? addressbook fi Käytä ylimääräistä kategoria välilehteä
|
||||
use country list addressbook fi Käytä maaluetteloa
|
||||
used for links and for the own sorting of the list addressbook fi käytä linkeissä ja omassa lajittelu listassa
|
||||
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.
|
||||
view linked infolog entries addressbook fi Näytä linkitetyt Infologin 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ätunnusten tallentamiseen!
|
||||
warning: all contacts found will be deleted! addressbook fi VAROITUS: Kaikki löytyneet osoitteet poistetaan!
|
||||
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 asetuksesta.
|
||||
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook fi Mikä osoitekirja on valittuna kun lisätään yhteystietoja JA sinulla ei ole oikeuksia lisätä merkintöjä nykyiseen kalenteriin.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook fi Mitä merkistökoodausta käytetään CSV viennissä. Järjestelmän oletus on merkistökoodaus joka määriteltiin asennuksen yhteydessä.
|
||||
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 fi Mitkä kentät voidaan viedä. Kaikki tarkoittaa jokaista kenttää jotka osoitekirjasta löytyy, sisältäen asiakastiedot. Liiketoiminta tai kotiosoite sisältävät vain nimen, yrityksen ja valitut osoitekentät.
|
||||
whole query addressbook fi koko kysely
|
||||
work phone addressbook fi Työpuhelin
|
||||
yes, for the next three days addressbook fi Kyllä, seuraavan 3 päivän ajalta
|
||||
yes, for the next two weeks addressbook fi Kyllä, seuraavan 2 viikon ajalta
|
||||
yes, for the next week addressbook fi Kyllä, seuraavan viikon ajalta
|
||||
yes, for today and tomorrow addressbook fi Kyllä, tämänpäivän ja huomisen ajalta
|
||||
you are not permitted to delete contact %1 addressbook fi Sinulla ei ole oikeutta poistaa kontaktia %1
|
||||
you are not permittet to delete this contact addressbook fi Sinulla ei ole oikeutta poistaa tätä kontaktia
|
||||
you are not permittet to edit this contact addressbook fi Sinulla ei ole oikeutta muokata tätä kontaktia
|
||||
you are not permittet to view this contact addressbook fi Sinulla ei ole oikeutta nähdä tätä kontaktia
|
||||
you must select a vcard. (*.vcf) addressbook fi Valitse vcard -tiedosto. (*.vcf)
|
||||
you must select at least 1 column to display addressbook fi Valitse ainakin yksi näytettävä sarake
|
||||
you need to select a distribution list addressbook fi Valitse ensin jakelulista
|
||||
you need to select some contacts first addressbook fi Valitse ensin joku yhteystieto
|
||||
zip code common fi Postinumero
|
||||
zip_note addressbook fi <p><b>Huom:</b> Tiedosto voi olla usean .csv-, .vcf- tai .ldif- tiedoston zip-paketti. Älä kuitenkaan tuo useampaa tiedostotyyppiä kerralla.
|
410
addressbook/setup/egw_fr.lang
Normal file
410
addressbook/setup/egw_fr.lang
Normal file
@ -0,0 +1,410 @@
|
||||
%1 added addressbook fr %1 ajouté
|
||||
%1 contact(s) %2 addressbook fr %1 contact(s) %2
|
||||
%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 fields in %2 other organisation member(s) changed addressbook fr Le champ %1 dans %2 d'autre membre de l'organisation a changé.
|
||||
%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 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= utilise les limites globales, non = pas d'export du tout)
|
||||
<b>no conversion type <none> 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 repository admin fr Dépôt de comptes
|
||||
accounts addressbook fr Comptes
|
||||
actions addressbook fr Actions
|
||||
add %1 addressbook fr Ajouter %1
|
||||
add a contact to this organisation addressbook fr Ajouter un contact à cette organisation
|
||||
add a new contact addressbook fr Ajouter un nouveau contact
|
||||
add a new infolog addressbook fr Ajout d'un nouvel Infolog
|
||||
add a new list addressbook fr Ajouter une nouvelle liste
|
||||
add a single entry by passing the fields. addressbook fr Ajouter une seule entrée en passant les champs.
|
||||
add business email of whole distribution list? addressbook fr Ajouter l'email professionnel
|
||||
add custom field addressbook fr Ajouter un champ personnalisé
|
||||
add emails of whole distribution list? addressbook fr Ajout des emails à toute la liste de distribution?
|
||||
add or delete categoies addressbook fr Ajoute ou supprime des Catégories
|
||||
add to distribution list: addressbook fr Ajouter à la liste de distribution:
|
||||
added addressbook fr ajouté
|
||||
added by synchronisation addressbook fr ajouté par synchronisation
|
||||
added to distribution list addressbook fr ajouté à la liste de distribution
|
||||
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 - view addressbook fr Carnet d'adresses - Voir
|
||||
address line 2 addressbook fr Adresse ligne 2
|
||||
address type addressbook fr Type d'adresse
|
||||
addressbook common fr Carnet d'adresses
|
||||
addressbook csv export addressbook fr Exporter en CSV le carnet d'adresse
|
||||
addressbook menu addressbook fr Menu de carnet d'adresses
|
||||
addressbook preferences addressbook fr Préférences du carnet d'adresses
|
||||
addressbook the contact should be saved to addressbook fr Le contact du carnet d'adresses doit être sauvegardé vers
|
||||
addressbook the contact should be shown addressbook fr Carnet d'adresse: le contact doit être vu
|
||||
addressbook-fieldname addressbook fr Carnet d'adresses - nom du champ
|
||||
addvcard addressbook fr Ajouter VCard
|
||||
advanced search addressbook fr Recherche avancée
|
||||
all contacts addressbook fr Tous les contacts
|
||||
allow users to maintain their own account-data admin fr Permettre aux utilisateurs de maintenir les données de leur propre compte
|
||||
alt. csv import addressbook fr Importation CSV alternative
|
||||
always addressbook fr toujours
|
||||
apply changes to all members, whose fields have the same previous content addressbook fr Appliquer les changements à tous les membres dont les champs ont le même contenu.
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook fr Appliquer l'action sur la totalité des résultats de la requête et pas seulement sur les contacts affichés.
|
||||
are you shure you want to delete this contact? addressbook fr Etes-vous sûr que vous voulez supprimer ce contact?
|
||||
are you sure you want to delete this field? addressbook fr Etes-vous sûr de vouloir effacer ce champ ?
|
||||
assistent addressbook fr Assistant(e)
|
||||
assistent phone addressbook fr Téléphone assistant(e)
|
||||
at the moment the following document-types are supported: addressbook fr À l'heure actuelle les types de documents supportés :
|
||||
birthday common fr Anniversaire
|
||||
birthdays common fr Anniversaires
|
||||
blank addressbook fr Blanc
|
||||
business common fr Bureau
|
||||
business address addressbook fr Adresse (bureau)
|
||||
business city addressbook fr Ville (bureau)
|
||||
business country addressbook fr Pays (bureau)
|
||||
business email addressbook fr EMail (bureau)
|
||||
business fax addressbook fr Fax (bureau)
|
||||
business phone addressbook fr Téléphone (bureau)
|
||||
business state addressbook fr Région (bureau)
|
||||
business street addressbook fr Rue (bureau)
|
||||
business zip code addressbook fr Code postal (bureau)
|
||||
calendar fields: addressbook fr Champ calendrier:
|
||||
calendar uri addressbook fr URI du calendrier
|
||||
can be changed via setup >> configuration admin fr Peut être modifié via Setup >> Configuration
|
||||
car phone addressbook fr Téléphone voiture
|
||||
categorie addressbook fr Catégorie
|
||||
categorie added addressbook fr Catégorie ajouté
|
||||
categorie delete addressbook fr Catégorie supprimé
|
||||
categories, notes, ... addressbook fr Catégories, Notes, ...
|
||||
category tree admin fr Arbre des Catégories
|
||||
cell phone addressbook fr Téléphone portable
|
||||
change all organisation members addressbook fr Modifier tous les membres de l'organisation
|
||||
charset for the csv export addressbook fr Jeu de caractères pour l'exportation CSV
|
||||
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 owner of imported data addressbook fr Choisisser le propriétaire de données importées
|
||||
choose seperator and charset addressbook fr Choisisser le séparateur et l'encodage
|
||||
chosse an etemplate for this contact type admin fr Choisissez un eTemplate pour ce type de contact
|
||||
city common fr Ville
|
||||
company common fr Société
|
||||
company name addressbook fr Nom de la société
|
||||
configuration common fr Configuration
|
||||
contact common fr Contact
|
||||
contact application admin fr Application contact
|
||||
contact copied addressbook fr Contact copié
|
||||
contact deleted addressbook fr Contact supprimé
|
||||
contact fields to show addressbook fr Montrer le champ du contact
|
||||
contact fields: addressbook fr Champs du contact :
|
||||
contact id addressbook fr ID (identificateur) du contact
|
||||
contact modified by %1 at %2 addressbook fr Contact modifié par %1 le %2
|
||||
contact not found! addressbook fr Contact non trouvé
|
||||
contact repository admin fr Dépôt de contacts
|
||||
contact saved addressbook fr Contact enregistré
|
||||
contact settings admin fr Paramètres du contact
|
||||
contactform addressbook fr Formulaire du Contact
|
||||
contacts and account contact-data to ldap admin fr contacts et dépôt des données des comptes vers LDAP
|
||||
contacts and account contact-data to sql admin fr contacts et dépôt des données des comptes vers SQL
|
||||
contacts to ldap admin fr contacts vers LDAP
|
||||
contacts to ldap, account contact-data to sql admin fr contacts vers LDAP, dépôt des données des comptes vers SQL
|
||||
contains addressbook fr contient
|
||||
copied by %1, from record #%2. addressbook fr Copié par %1 depuis l'enregistrement n°%2.
|
||||
copy a contact and edit the copy addressbook fr Copier un contact et modifier la copie
|
||||
copy your changes to the clipboard, %1reload the entry%2 and merge them. addressbook fr Copiez vos changements dans le presse-papier, %1rechargez l'entrée%2 et mélangez les
|
||||
country common fr Pays
|
||||
create new links addressbook fr Créer de nouveaux liens
|
||||
created addressbook fr Créé(s)
|
||||
credit addressbook fr Crédits
|
||||
csv-fieldname addressbook fr CSV - Nom du champ
|
||||
csv-filename addressbook fr CSV - Nom du fichier
|
||||
custom addressbook fr Personnalisé
|
||||
custom etemplate for the contactform addressbook fr eTemplate personnalisé pour le Formulaire du Contact
|
||||
custom fields addressbook fr Champs personnalisés
|
||||
debug output in browser addressbook fr Deboguer la sortie dans le navigateur
|
||||
default addressbook fr Défaut
|
||||
default address format addressbook fr Format d'adresse par défaut
|
||||
default addressbook for adding contacts addressbook fr Carnet d'adresses par défaut pour l'ajout de contacts
|
||||
default document to insert contacts addressbook fr Document par défaut pour l'insertion des contacts
|
||||
default file as format addressbook fr Format par défaut du fichier
|
||||
default filter addressbook fr Filtre par défaut
|
||||
default format for fileas, eg. for new entries. addressbook fr Format par défaut du fichier pour les nouvelles entrées
|
||||
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook fr Définir quelles adresses mail ( travail ou maison ) on doit préférer lors de l'utilisation de liste de distribution de mail
|
||||
delete a single entry by passing the id. addressbook fr Effacer une seule entrée en passant l'ID.
|
||||
delete selected distribution list! addressbook fr Effacer la liste de distribution sélectionnée!
|
||||
delete this contact addressbook fr Supprimer ce contact
|
||||
delete this organisation including all its contacts addressbook fr Détruire cette organisation et tous ses contacts
|
||||
deleted addressbook fr supprimé
|
||||
deletes the photo addressbook fr Supprime la photo
|
||||
department common fr Département
|
||||
departments addressbook fr départements
|
||||
directory with documents to insert contacts addressbook fr Repertoire des documents pour l'insertion des contacts
|
||||
display contact addressbook fr Afficher les contacts
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook fr Affiche un rappel pour les anniversaires sur la page d'accueil (page qui s'affiche quand vous entrez dans eGroupWare ou quand vous cliquez sur l'icône Accueil)
|
||||
distribution list deleted addressbook fr La liste de distribution est supprimée
|
||||
distribution lists addressbook fr Listes de distribution
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook fr Voulez vous un carnet d'adresse privé qui ne pourra être vu par les autres utilisateurs sauf si vous modifiez les autorisations ?
|
||||
do your really want to delete this contact? addressbook fr Voulez vous vraiment supprimer ce contact?
|
||||
document '%1' does not exist or is not readable for you! addressbook fr le Document '%1' n'existe pas ou ne peut être lu par vous!
|
||||
doesn't matter addressbook fr sans importance
|
||||
domestic addressbook fr Domestique
|
||||
don't hide empty columns addressbook fr Ne pas cacher les colonnes vides
|
||||
download addressbook fr Télécharger
|
||||
download export file (uncheck to debug output in browser) addressbook fr Télécharger le fichier d'exportation (Décocher pour deboguer la sortie dans le navigateur)
|
||||
download this contact as vcard file addressbook fr Téléchargez ce contact comme un fichier vCard
|
||||
duration addressbook fr Durée
|
||||
edit custom field addressbook fr Editer le champ personnalisé
|
||||
edit custom fields admin fr Editer les champs personnalisés
|
||||
edit extra account-data in the addressbook admin fr Editer les données supplémentaires dans le carnet d'adresse
|
||||
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 l'adresse mail configurée est fausse , soit la configuration des mails ne va pas
|
||||
email & internet addressbook fr Email & Internet
|
||||
email addresses (comma separated) to send the contact data addressbook fr Adresses mail (séparées par des virgules) a qui l'on doit envoyer les données du contact
|
||||
empty for all addressbook fr vide pour tous
|
||||
enable an extra private addressbook addressbook fr Activer un carnet d'adresses privé supplémentaire
|
||||
end addressbook fr Fin
|
||||
enter the path to the exported file here addressbook fr Entrer ici le chemin vers le fichier exporté
|
||||
error deleting the contact !!! addressbook fr Erreur lors de la suppresion du contact
|
||||
error saving the contact !!! addressbook fr Erreur lors de la sauvegarde du contact
|
||||
error: the entry has been updated since you opened it for editing! addressbook fr Erreur: l'entrée à été mise à jour depuis que vous l'avez ouvert pour l'éditer!
|
||||
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 fr Exemple $$IF n_prefix~Mr~Bonjour Mr.~Bonjour Mme.$$ - search the field "n_prefix", for "Mr", if found, write Bonjour Mr., else write Bonjour Mme.
|
||||
existing links addressbook fr Liens existants
|
||||
export addressbook fr Exporter
|
||||
export as csv addressbook fr Exporter au format CSV
|
||||
export as vcard addressbook fr Export au format VCard
|
||||
export contacts addressbook fr Exporter les contacts
|
||||
export file name addressbook fr Nom du fichier d'exportation
|
||||
export from addressbook addressbook fr Exporter depuis le carnet d'adresses
|
||||
export selection addressbook fr Sélection pour l'exportation
|
||||
exported addressbook fr exporté
|
||||
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 fr Exporte les contacts de votre carnet d'adresse vers un fichier CSV. CSV='Valeurs Séparées par des Virgules'. Cependant vous pouvez aussi choisir d'autres caractères comme séparateur.
|
||||
extra addressbook fr Supplément
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook fr Echec du changement des membres de l'organisation %1 (droits insufisants).
|
||||
fax addressbook fr Fax
|
||||
fax number common fr Numéro de Fax
|
||||
field %1 has been added ! addressbook fr Le champ %1 a été ajouté !
|
||||
field %1 has been updated ! addressbook fr Le champ %1 a été mis à jour !
|
||||
field name addressbook fr Nom du champ
|
||||
fields for the csv export addressbook fr Champ pour l'exportation au format CSV
|
||||
fields the user is allowed to edit himself admin fr Champs que l'utilisateur peut modifier lui-même
|
||||
fields to show in address list addressbook fr Champs à afficher dans la liste des adresses
|
||||
fieldseparator addressbook fr Séparateur de champ
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook fr pour plus d'un contact dans un document, utilisez la balise de répétition de page!
|
||||
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 des lettres en série utiliser cette balise. Mettez le contenu que vous souhaitez répéter entre deux balises.
|
||||
freebusy uri addressbook fr Freebusy URI
|
||||
full name addressbook fr Nom complet
|
||||
general addressbook fr Général
|
||||
general fields: addressbook fr Champs Généraux:
|
||||
geo addressbook fr GEO
|
||||
global categories addressbook fr Catégorie globale
|
||||
grant addressbook access common fr Donner l'accès au Carnet d'adresses
|
||||
group %1 addressbook fr Groupe %1
|
||||
h addressbook fr h
|
||||
hide accounts from addressbook addressbook fr Cache les comptes depuis le carnet d'adresses
|
||||
hides accounts completly from the adressbook. addressbook fr Cache complètement les comptes depuis le carnet d'adresses
|
||||
home address addressbook fr Adresse (domicile)
|
||||
home address, birthday, ... addressbook fr Adresse (domicile), Anniversaire, ...
|
||||
home city addressbook fr Ville (domicile)
|
||||
home country addressbook fr Pays (domicile)
|
||||
home email addressbook fr EMail (domicile)
|
||||
home email if given, else work email addressbook fr Mail de la maison si donné, sinon mail du travail
|
||||
home phone addressbook fr Téléphone (domicile)
|
||||
home state addressbook fr Région (domicile)
|
||||
home street addressbook fr Rue (domicile)
|
||||
home zip code addressbook fr Code postal (domicile)
|
||||
how many contacts should non-admins be able to export admin fr Combien de contacts un non-administrateur peut-il exporter?
|
||||
icon addressbook fr Icône
|
||||
if accounts are already in ldap admin fr si les comptes sont déjà dans LDAP
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook fr Si vous spécifiez un répertoire (chemin vfs complet) ici, le carnet d'adresse montre un bouton action pour chaque document. Ce bouton action permet de télécharger le document spécifié avec une insertion des données du contact.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook fr Si vous spécifiez un document (chemin vfs complet) ici, le carnet d'adresse montre une icône document pour chaque adresse. Cette icône permet de télécharger le document spécifié avec une insertion des données du contact.
|
||||
import addressbook fr Importer
|
||||
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 outlook addressbook fr Importer depuis Outlook
|
||||
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.
|
||||
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 fr Importe des contacts dans votre carnet d'adresse depuis un fichier CSV. CSV='Valeurs Séparées par des Virgules'. Cependant vous pouvez aussi choisir d'autres caractères comme séparateur.
|
||||
in %1 days (%2) is %3's birthday. addressbook fr Dans %1 jours (%2) c'est l'anniversaire de %3.
|
||||
income addressbook fr Revenus
|
||||
insert in document addressbook fr Insère un document
|
||||
insufficent rights to delete this list! addressbook fr Autorisations insuffisantes pour supprimer cette liste!
|
||||
international addressbook fr International
|
||||
label addressbook fr Label
|
||||
last date addressbook fr Dernière date
|
||||
last modified addressbook fr Dernière modification
|
||||
last modified by addressbook fr Dernière modification par
|
||||
ldap context for contacts admin fr Contexte LDAP pour les contacts
|
||||
ldap host for contacts admin fr Hôte LDAP pour les contacts
|
||||
ldap settings for contacts admin fr configuration LDAP pour les contacts
|
||||
ldif addressbook fr LDIF
|
||||
line 2 addressbook fr Ligne 2
|
||||
link title for contacts show addressbook fr Le titre du lien pour les contacts montre
|
||||
links 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 created addressbook fr Liste créée
|
||||
list creation failed, no rights! addressbook fr La création de la liste a échoué, aucune autorisation!
|
||||
load sample file addressbook fr Charge un fichier exemple
|
||||
load vcard addressbook fr Charger VCard
|
||||
location addressbook fr Endroit
|
||||
locations addressbook fr localisations
|
||||
manage mapping addressbook fr Gère le plan
|
||||
mark records as private addressbook fr Marquer l´enregistrement comme privé
|
||||
merge into first or account, deletes all other! addressbook fr Fusion avec le premier compte, efface tous les autres!
|
||||
merged addressbook fr fusionné
|
||||
message after submitting the form addressbook fr Message après avoir soumis le formulaire
|
||||
message phone addressbook fr Message téléphonique
|
||||
middle name addressbook fr Deuxième prénom
|
||||
migration finished addressbook fr Migration terminée
|
||||
migration to ldap admin fr Migration vers LDAP
|
||||
mobile addressbook fr Portable
|
||||
mobile phone addressbook fr Téléphone portable
|
||||
modem phone addressbook fr Téléphone modem
|
||||
more ... addressbook fr Plus ...
|
||||
move to addressbook: addressbook fr Aller vers le carnet d'adresses
|
||||
moved addressbook fr déplacé(s)
|
||||
multiple vcard addressbook fr VCard multiples
|
||||
name for the distribution list addressbook fr Nom de la liste de distribution
|
||||
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 aussi valables
|
||||
name, address addressbook fr Nom, Adresse
|
||||
new contact submitted by %1 at %2 addressbook fr Nouveau contact soumis par %1 le %2
|
||||
new window opened to edit infolog for your selection addressbook fr Une nouvelle fenêtre s'ouvre pour éditer les informations de votre sélection
|
||||
next date addressbook fr Prochaine date
|
||||
no categories selected addressbook fr Pas de catégories sélectionnées
|
||||
no vcard addressbook fr Pas de VCard
|
||||
number addressbook fr Numéro
|
||||
number of records to read (%1) addressbook fr Nombre d'enregistrements à lire (%1)
|
||||
options for type admin fr Options pour le type
|
||||
organisation addressbook fr organisation
|
||||
organisations addressbook fr Organisations
|
||||
organisations by departments addressbook fr Organisations par département
|
||||
organisations by location addressbook fr Organisations par localisation
|
||||
other number addressbook fr Autre Numéro
|
||||
other phone addressbook fr Autre Téléphone
|
||||
own sorting addressbook fr tri personnalisé
|
||||
pager common fr Pager
|
||||
parcel addressbook fr Paquet
|
||||
participants addressbook fr Participants
|
||||
permission denied !!! addressbook fr Autorisation refusée !!!
|
||||
phone number common fr Numéro de téléphone
|
||||
phone numbers common fr Numéros de téléphone
|
||||
photo addressbook fr Photo
|
||||
please enter a name for that field ! addressbook fr SVP entrez un nom pour ce champ !
|
||||
please select only one category addressbook fr Sélectionnez une seule catégorie !
|
||||
please update the templatename in your customfields section! addressbook fr Veuillez mettre à jour le template dans votre section de champs personnalisés!
|
||||
postal common fr Postal
|
||||
pref addressbook fr pref
|
||||
preferred email address to use in distribution lists addressbook fr Mail a utiliser de préférence dans les listes de distribution
|
||||
preferred phone addressbook fr Numéro de téléphone préférentiel
|
||||
preferred type of email address to add for distribution lists addressbook fr Type d'adresse Mail a ajouter de préférence dans les listes de distribution
|
||||
prefix addressbook fr Préfixe
|
||||
public key addressbook fr Clé publique
|
||||
publish into groups: addressbook fr Publié dans les groupes:
|
||||
read a list / search for entries. addressbook fr Lire une liste / rechercher des entrées.
|
||||
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
|
||||
record access addressbook fr Enregistrer l'accès
|
||||
record owner addressbook fr Enregistrer le propriétaire
|
||||
remove selected contacts from distribution list addressbook fr Retirer les contacts sélectionnés de la liste de distribution
|
||||
removed from distribution list addressbook fr retiré de la liste de distribution
|
||||
repetition addressbook fr Répétition
|
||||
replacements for inserting contacts into documents addressbook fr Remplacements lors de l'insertion de contacts dans les documents
|
||||
required fields * addressbook fr Champs requis *
|
||||
role addressbook fr Rôle
|
||||
room addressbook fr Salle
|
||||
search for '%1' addressbook fr Recherche de '%1'
|
||||
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 view addressbook fr Sélectionnez une vue
|
||||
select addressbook type addressbook fr Sélectionnez un type de carnet d'adresse
|
||||
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 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é
|
||||
select the type of conversion addressbook fr Sélectionner le type de convertion
|
||||
select the type of conversion: addressbook fr Sélectionner le type de convertion:
|
||||
select where you want to store / retrieve contacts admin fr Sélectionnez où vous voulez stocker / récupérer les contacts
|
||||
selected contacts addressbook fr contacts choisis
|
||||
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 Montre
|
||||
show birthday reminders on main screen addressbook fr Montrer les rappels d'anniversaires sur la page principale
|
||||
show infolog entries for this organisation addressbook fr Montre les entrées InfoLog pour cette organisation
|
||||
show the contacts of this organisation addressbook fr Montrer les contacts de l'organisation
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin fr Taille du popup (LxH, p.ex.400x300, si un popup doit être utilisé)
|
||||
start admin fr Début
|
||||
startrecord addressbook fr Enregistrement de départ
|
||||
state common fr Région
|
||||
street common fr Rue
|
||||
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
|
||||
tel home addressbook fr tel maison
|
||||
telephony integration admin fr Intégration téléphonique
|
||||
test import (show importable records <u>only</u> in browser) addressbook fr Tester l'import (montrer <u>seulement</u> les enregistrements importables dans le navigateur)
|
||||
thank you for contacting us. addressbook fr Merci de nous avoir contactés.
|
||||
that field name has been used already ! addressbook fr Ce nom de champ a déjà été utilisé !
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook fr L'utilisateur anonyme n'a probablement aucun droits sur ce carnet d'adresse.
|
||||
the anonymous user needs add rights for it! addressbook fr L'utilisateur anonyme a besoin dajouter des droits pour celà!
|
||||
the anonymous user needs read it! addressbook fr L'utilisateur anonyme doit lire celà!
|
||||
the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (%1full list of placeholder names%2). addressbook fr Le document peut contenir des espaces réservés comme $$n_fn$$, qui sera remplacé par les données de contact (%1 liste complète de noms d'espace réservés %2).
|
||||
there was an error saving your data :-( addressbook fr Il y a eu une erreur lors de la sauvegarde de vos données :-(
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook fr Ce module affiche un formulaire de contacts, qui enregistre directement dans le carnet d'adresses.
|
||||
this module displays block from a adddressbook group. addressbook fr Ce module affiche des blocs depuis le carnet d'adresses du groupe
|
||||
this person's first name was not in the address book. addressbook fr Le prénom de cette personne n'était pas dans le carnet d'adresses.
|
||||
this person's last name was not in the address book. addressbook fr Le nom de cette personne n'était pas dans le carnet d'adresses.
|
||||
timezone addressbook fr Fuseau horaire
|
||||
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.
|
||||
translation addressbook fr Traduction
|
||||
type addressbook fr Type
|
||||
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 Mettre à jour les champs par l'organisation éditée?
|
||||
updated addressbook fr Mis à jours
|
||||
upload or delete the photo addressbook fr Envoyez ou supprimez la photo
|
||||
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin fr lien URL pour lier les numéros de téléphones ( utilise %1 = numéro a appeler, %u = nom du compte, %t = comte téléphonique)
|
||||
use an extra category tab? addressbook fr Utiliser un onglet supplémentaire pour la catégorie?
|
||||
use an extra tab for private custom fields? admin fr Utiliser un onglet supplémentaire pour les champs spéciaux privés?
|
||||
use country list addressbook fr Utiliser la liste des pays
|
||||
use setup for a full account-migration admin fr utiliser le setup pour une migration de comptes complète
|
||||
used for links and for the own sorting of the list addressbook fr utilisé pour les liens et le tri de la liste
|
||||
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
|
||||
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 ATTENTION: Template "%1" non trouvé, utilisation du template par défaut.
|
||||
weekday addressbook fr Jours 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!
|
||||
where to add the email address addressbook fr Ou ajouter les adresses 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 fr Le format d'adresse que devrait utiliser le carnet d'adresses pour les pays dont il ne connaît pas le format d'adresse. Si le format de l'adresse d'un pays est connu, il l'utilisera indépendamment de ce paramètre.
|
||||
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.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook fr Quel jeu de caractères faut-il utiliser pour l'exportation CSV. Le paramétrage par défaut est celui utilisé lors de l'installation d'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 fr Quels champs doivent être exportés. Tous signifie que les champs personnalisés du carnet d'adresses sont inclus. Les adresses personnelles et professionelles contiennent seulement le nom la société et les adresses sélectionnées.
|
||||
whole query addressbook fr requête entière
|
||||
work email if given, else home email addressbook fr Mail de travail si renseigné, sinon Mail perso
|
||||
work phone addressbook fr Téléphone (bureau)
|
||||
write (update or add) a single entry by passing the fields. addressbook fr Ecrivez (modifiez ou ajoutez) une entrée unique en passant les champs.
|
||||
wrong - try again ... addressbook fr Faux - essaye encore ....
|
||||
yes, for the next three days addressbook fr Oui, pour les trois prochains jours
|
||||
yes, for the next two weeks addressbook fr Oui, pour les deux prochaines semaines
|
||||
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
|
||||
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 à éditer 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 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 distribution
|
||||
you need to select some contacts first addressbook fr Vous devez d'abord choisir les contacts
|
||||
zip code common fr Code postal
|
||||
zip_note addressbook fr <p><b>Note:</b> Le fichier peut être un fichier zip contenant une collection de fichiers .csv, .vcf ou .ldif. C´est pourquoi il est important de ne pas mélanger les types de fichiers lors de l'importation.
|
@ -1,11 +1,14 @@
|
||||
%1 added addressbook hu %1 hozzáadva
|
||||
%1 contact(s) %2 addressbook hu %1 kapcsolat %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook hu %1 kapcsolat %2, %3, mivel nem rendelkezik megfelelő jogosultsággal!
|
||||
%1 fields in %2 other organisation member(s) changed addressbook hu %1 mézők itt %2 más szervezet tagjai megváltoztak (%1 fields in %2 other organisation member(s) changed)
|
||||
%1 records imported addressbook hu %1 bejegyzés importálva
|
||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook hu %1 bejegyzés beolvasva (nincs importálva, importáláshoz %2vissza%3 kell lépni és meg kell szüntetni a 'Test Import' opciót)
|
||||
%1 starts with '%2' addressbook hu %1 elindult '%2'-vel
|
||||
%s please calculate the result addressbook hu %s kérem számolja ki az eredményt
|
||||
%s please calculate the result and increase it by ten addressbook hu %s kérem számolja ki az eredményt és ADJON HOZZÁ MÉG 10-ET!
|
||||
(e.g. 1969) addressbook hu (pl.: 1969)
|
||||
(empty = use global limit, no = no export at all) admin hu (üres = globális korlát használata, no = nem exportálható)
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook hu <b>Nem találtam konverzió típust <none>.</b>Konverzió típus választása szükséges.
|
||||
@-eval() is only availible to admins!!! addressbook hu @-eval() csak adminisztrátoroknak érhető el!!!
|
||||
account repository admin hu Felhasználói hozzáférések tárháza
|
||||
@ -14,13 +17,18 @@ actions addressbook hu Műveletek
|
||||
add %1 addressbook hu %1 hozzáadása
|
||||
add a contact to this organisation addressbook hu Kapcsolat hozzáadása ehhez a szervezethez
|
||||
add a new contact addressbook hu Új kapcsolat hozzáadása
|
||||
add a new infolog addressbook hu Új Infolog hozzáadása
|
||||
add a new list addressbook hu Új lista hozzáadása
|
||||
add a single entry by passing the fields. addressbook hu Egy bejegyzés hozzáadása a mezők átadásával
|
||||
add business email of whole distribution list? addressbook hu Üzleti email cím hozzáadása a teljes disztribúciós listához?
|
||||
add custom field addressbook hu Egyéni mező hozzáadása
|
||||
add emails of whole distribution list? addressbook hu A disztribúciós lista összes email címét hozzáadja?
|
||||
add or delete categoies addressbook hu Kategória hozzáadása vagy törlése
|
||||
add to distribution list: addressbook hu Disztribúciós listához hozzáadás:
|
||||
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
|
||||
additional information about using ldap as contact repository admin hu További információk a Kapcsolatok LDAP-ban történő tárolásához
|
||||
address book common hu Címjegyzék
|
||||
address book - vcard in addressbook hu Címjegyzék - VCard formában
|
||||
address book - view addressbook hu Címjegyzék - nézet
|
||||
@ -28,12 +36,15 @@ address line 2 addressbook hu Címsor 2
|
||||
address type addressbook hu Címtípus
|
||||
addressbook common hu Címjegyzék
|
||||
addressbook csv export addressbook hu Címjegyzék exportja CVS formátumban
|
||||
addressbook field addressbook hu Címjegyzék mező
|
||||
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 the contact should be shown addressbook hu Kapcsolat megjelenítése a következő címjegyzékben
|
||||
addressbook-fieldname addressbook hu Címjegyzék-Mezőnév
|
||||
addvcard addressbook hu VCard hozzáadása
|
||||
advanced search addressbook hu Kiterjesztett keresés
|
||||
adószám addressbook hu Adószám
|
||||
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
|
||||
alt. csv import addressbook hu Alternatív CSV Import
|
||||
@ -62,7 +73,11 @@ calendar fields: addressbook hu Naptár mezők:
|
||||
calendar uri addressbook hu Naptár URI
|
||||
can be changed via setup >> configuration admin hu Megváltoztatható a Beállítások->Konfiguráció
|
||||
car phone addressbook hu Autó telefon
|
||||
categorie addressbook hu kategória
|
||||
categorie added addressbook hu kategória hozzáadva
|
||||
categorie delete addressbook hu kategória törölve
|
||||
categories, notes, ... addressbook hu Kategóriák, Feljegyzések, ...
|
||||
category tree admin hu Kategória fa
|
||||
cell phone addressbook hu Mobiltelefon
|
||||
change all organisation members addressbook hu változtassa meg a szervezet összes tagját
|
||||
charset for the csv export addressbook hu Karakterkódolás a CSV exporthoz
|
||||
@ -90,15 +105,18 @@ contact saved addressbook hu Kapcsolat elmentve
|
||||
contact settings admin hu Kapcsolat beállítások
|
||||
contactform addressbook hu Kapcsolat felvételi űrlap
|
||||
contacts and account contact-data to ldap admin hu kapcsolatok és felhasználók kapcsolat adatait LDAP-ba
|
||||
contacts and account contact-data to sql admin hu kapcsolatok és felhasználók kapcsolat adatait SQL adatbázisba
|
||||
contacts to ldap admin hu kapcsolatok LDAP-ba
|
||||
contacts to ldap, account contact-data to sql admin hu kapcsolatok LDAP-ba, felhasználók kapcsolat adatai SQL-be
|
||||
contains addressbook hu tartalmaz
|
||||
copied by %1, from record #%2. addressbook hu %1 másolta a #%2 bejegyzéstől
|
||||
copy a contact and edit the copy addressbook hu Kapcsolat másolása és a másolat szerkesztése
|
||||
copy your changes to the clipboard, %1reload the entry%2 and merge them. addressbook hu Másolja a módosításait a vágólapra, %1töltse be újra a bejegyzést%2 és fűzze össze őket.
|
||||
country common hu Ország
|
||||
create new links addressbook hu Új hivatkozás létrehozása
|
||||
created addressbook hu Létrehozva
|
||||
credit addressbook hu Hitel
|
||||
csv field addressbook hu CSV Mező
|
||||
csv-fieldname addressbook hu CSV-Mezőnév
|
||||
csv-filename addressbook hu CSV-Fájlnév
|
||||
custom addressbook hu Egyedi
|
||||
@ -109,7 +127,10 @@ default addressbook hu alapértelmezett
|
||||
default address format addressbook hu Alapértelmezett cím formátum
|
||||
default addressbook for adding contacts addressbook hu Alapértelmezett címjegyzék a hozzáadott kapcsolatokhoz
|
||||
default document to insert contacts addressbook hu Alapértelmezett dokumentum, amit hozzáadunk a kapcsolathoz
|
||||
default file as format addressbook hu Alapértelmezett fájlformátum
|
||||
default filter addressbook hu Alapértelmezett Szűrő
|
||||
default format for fileas, eg. for new entries. addressbook hu Alapértelmezett fájlformátum, pl. új bejegyzésekhez
|
||||
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook hu Állítsa be, hogy a disztribúciós lista melyik email címet használja elsődlegesen (üzleti vagy otthoni email cím).
|
||||
delete a single entry by passing the id. addressbook hu Töröl egy bejegyzést az azonosító megadásával.
|
||||
delete selected distribution list! addressbook hu Kiválasztott disztribúciós lista törlése!
|
||||
delete this contact addressbook hu Kapcsolat törlése
|
||||
@ -119,9 +140,11 @@ deletes the photo addressbook hu Fotó törlése
|
||||
department common hu Iroda
|
||||
departments addressbook hu Osztályok
|
||||
directory with documents to insert contacts addressbook hu Kapcsolatokhoz adható dokumentumok könyvtára
|
||||
display contact addressbook hu Kapcsolat megjelenítése
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook hu Születésnapi emlékeztető megjelenítése a kezdőoldalon.
|
||||
distribution list deleted addressbook hu Disztribúciós lista törölve
|
||||
distribution lists addressbook hu Disztribúciós listák
|
||||
distribution lists, ... addressbook hu Disztribúciós listák,...
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook hu Akar egy magán címjegyzéket, melyet nem láthatnak azok a felhasználók sem, akiknek olvasási jogot adott a személyes címjegyzékéhez? (Privát a személyes címjegyzékben.)
|
||||
do your really want to delete this contact? addressbook hu Biztosan törölni kívánja ezt a kapcsolatot?
|
||||
document '%1' does not exist or is not readable for you! addressbook hu A(z) '%1' dokumentum nem létezik, vagy nincs hozzá olvasási joga!
|
||||
@ -141,10 +164,13 @@ email & internet addressbook hu Email és Internet
|
||||
email addresses (comma separated) to send the contact data addressbook hu Email címek (vesszővel elválasztva) akiknek a kapcsolat adatait elküldjük
|
||||
empty for all addressbook hu minden ürítése
|
||||
enable an extra private addressbook addressbook hu Engedélyezzük egy extra magán címjegyzéket
|
||||
enclosure addressbook hu Melléklet
|
||||
end addressbook hu Befejezés
|
||||
enter the path to the exported file here addressbook hu Exportált állomány elérési útjának megadása
|
||||
error deleting the contact !!! addressbook hu Hiba a kapcsolat törlésekor !!!
|
||||
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ést valaki frissítette, mióta ön megnyitotta szerkesztésre!
|
||||
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 hu Példa: $$IF n_prefix~Mr~Hello Mr.~Hello Ms.$$ - az "n_prefix" mezőben keresi az "Mr" értéket, ha talál, akkor a megszólítás Hello Mr., egyébként Hello Ms.
|
||||
existing links addressbook hu Meglévő hivatkozások
|
||||
export addressbook hu exportál
|
||||
export as csv addressbook hu Export CSV formában
|
||||
@ -156,7 +182,8 @@ export selection addressbook hu Kijelölés exportálása
|
||||
exported addressbook hu exportálva
|
||||
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 hu Kapcsolatok exportálása a Címjegyzékből CSV formátumban. CSV jelentése 'Comma Separated Values'. Az opcióknál kiválasztható más elválasztó karakter is, nem csak a vessző.
|
||||
extra addressbook hu Extra
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook hu %1
|
||||
extra private addressbook hu Extra privát
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook hu %1 szervezet tagját nem lehet megváltoztatni (jogosultság hiányában)!!!
|
||||
fax addressbook hu Fax
|
||||
fax number common hu Fax Szám
|
||||
field %1 has been added ! addressbook hu %1 mező hozzáadva!
|
||||
@ -166,7 +193,10 @@ 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 show in address list addressbook hu Címjegyzékben megjelenő mezők
|
||||
fieldseparator addressbook hu Mező elválasztó
|
||||
fieldseperator addressbook hu Mező elválasztó
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook hu több mint egy kapcsolat használata esetén egy dokumentumban, használja a pagerepeat tag-et!
|
||||
for read only ldap admin hu csak olvasható LDAP-hoz
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook hu Körlevél készítéshez használja ezt a tag-et. Az ismétlésre szánt tartalmat rakja két tag közé.
|
||||
freebusy uri addressbook hu Szabad-foglalt URI
|
||||
full name addressbook hu Teljes Neve
|
||||
general addressbook hu Általános
|
||||
@ -183,11 +213,19 @@ home address, birthday, ... addressbook hu Otthoni cím, születésnap, ...
|
||||
home city addressbook hu Otthoni város
|
||||
home country addressbook hu Otthoni ország
|
||||
home email addressbook hu Otthoni email
|
||||
home email if given, else work email addressbook hu Otthoni email cím, ha megadták, egyébként munkahelyi email cím
|
||||
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 contacts should non-admins be able to export admin hu Hány darab kapcsolatot exportálhatnam a nem adminisztrátor felhasználók
|
||||
icon addressbook hu Ikon
|
||||
if accounts are already in ldap admin hu ha a felhasználók az LDAP-ban már léteznek
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook hu Ha itt megad egy könytárat (teljes VFS útvonal), a Címjegyzék műveletet jelenít meg az összes dokumentumhoz. Ez a művelet lehetővé teszi, hogy a megadott dokumentum letöltésekor a Kapcsolat adatai beillesztésre kerüljenek a dokumentumba.
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (<a href="/office/index.php?menuaction=addressbook.addressbook_merge.show_replacements" target="_blank">full list of placeholder names</a>). at the moment the following document-types are supported:*.rtf, *.txt addressbook hu Ha itt megad egy könytárat (teljes VFS útvonal), a Címjegyzék műveletet jelenít meg az összes dokumentumhoz. Ez a művelet lehetővé teszi, hogy a megadott dokumentum letöltésekor a Kapcsolat adatai beillesztésre kerüljenek a dokumentumba. A dokumentum tartalmazhat mezőneveket (pl. $$n_fn$$ ), amelyek be lesznek helyettesítve a kapcsolat adataira. Jelenleg a következő dokumentum típusok támogatottak: *.rtf, *.txt
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook hu Ha itt megad egy dokumentumot (teljes VFS útvonal), a Címjegyzék megjelenít egy extra dokeumentum ikont az összes Kapcsolathoz. Ez az ikon lehetővé teszi, hogy a megadott dokumentum letöltésekor a Kapcsolat adatai beillesztésre kerüljenek a dokumentumba.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (<a href="/office/index.php?menuaction=addressbook.addressbook_merge.show_replacements" target="_blank">full list of placeholder names</a>). at the moment the following document-types are supported:*.rtf, *.txt addressbook hu Ha itt megad egy dokumentumot (teljes VFS útvonal), a Címjegyzék megjelenít egy extra dokeumentum ikont az összes Kapcsolathoz. Ez az ikon lehetővé teszi, hogy a megadott dokumentum letöltésekor a Kapcsolat adatai beillesztésre kerüljenek a dokumentumba (pl. $$n_fn$$ ). Jelenleg a következő dokumentum típusok támogatottak: *.rtf, *.txt
|
||||
ignore first line addressbook hu Hagyja figyelmen kívül az első sort
|
||||
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
|
||||
@ -198,11 +236,18 @@ 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.
|
||||
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 hu Kapcsolatok importálása a Címjegyzékbe CSV fájlból. CSV jelentése: "Comma Separated Values", azaz vesszővel elválasztott értékek. További elválasztó karaktereket lehet kiválasztani a Tab opcióknál.
|
||||
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
|
||||
insert in document addressbook hu Dokumentumba illesztés
|
||||
insufficent rights to delete this list! addressbook hu Nincs megfelelő jogosultsága törölni ezt a listát!
|
||||
international addressbook hu Nemzetközi
|
||||
internet addressbook hu Internet
|
||||
kötelező addressbook hu Kötelező
|
||||
kötelező, mobil is lehet addressbook hu Kötelező, mobil is lehet
|
||||
label addressbook hu Címke
|
||||
last date addressbook hu Utolsó dátum
|
||||
last modified addressbook hu utoljára módosítva
|
||||
last modified by addressbook hu utoljára módosította
|
||||
ldap context for contacts admin hu LDAP összefüggés a kapcsolatokhoz
|
||||
@ -219,8 +264,11 @@ 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 sample file addressbook hu Minta fájl betöltése
|
||||
load vcard addressbook hu vCard betöltése
|
||||
location addressbook hu Hely
|
||||
locations addressbook hu helyek
|
||||
manage mapping addressbook hu Leképezések kezelése
|
||||
mark records as private addressbook hu Bejegyzés megjelölése magánként
|
||||
merge into first or account, deletes all other! addressbook hu Legelsőhöz vagy felhasználóhoz fűzés, összes többi törlése!
|
||||
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,8 +283,12 @@ move to addressbook: addressbook hu Címjegyzékbe mozgat:
|
||||
moved addressbook hu átmozgatva
|
||||
multiple vcard addressbook hu Több vCard
|
||||
name for the distribution list addressbook hu Disztribúciós lista neve
|
||||
name of current user, all other contact fields are valid too addressbook hu Aktuális felhasználó neve, az összes többi kapcsolat mező szintén érvényes
|
||||
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
|
||||
new window opened to edit infolog for your selection addressbook hu A kiválasztott Infolog szerkesztése külön ablakban nyílt meg
|
||||
next date addressbook hu Következő dátum
|
||||
no categories selected addressbook hu nincsenek kategóriák kiválasztva
|
||||
no vcard addressbook hu Nem VCard
|
||||
number addressbook hu Szám
|
||||
number of records to read (%1) addressbook hu Bejegyzések száma olvasáshoz (%1)
|
||||
@ -247,18 +299,24 @@ organisations by departments addressbook hu Szervezetek osztályok szerint
|
||||
organisations by location addressbook hu Szervezetek helyek szerint
|
||||
other number addressbook hu Más telefonszám
|
||||
other phone addressbook hu Egyéb telefon
|
||||
own sorting addressbook hu saját sorrend
|
||||
pager common hu Személyhívó
|
||||
parcel addressbook hu Csomó
|
||||
participants addressbook hu Résztvevők
|
||||
permission denied !!! addressbook hu Hozzáférés megtagadva!
|
||||
phone number common hu Telefonszám
|
||||
phone numbers common hu Telefonszámok
|
||||
photo addressbook hu Fotó
|
||||
please enter a name for that field ! addressbook hu Kérem adjon meg egy nevet ebbe a mezőbe!
|
||||
please select only one category addressbook hu Kérem csak egy kategóriát válasszon
|
||||
please update the templatename in your customfields section! addressbook hu Kérem adja meg a sablon nevét az ön Egyedi mezők szekciójában!
|
||||
postal common hu Postai
|
||||
pref addressbook hu előtag
|
||||
preferred phone addressbook hu preferált telefon
|
||||
preferred email address to use in distribution lists addressbook hu Elsődleges email cím a disztribúciós listában való használathoz
|
||||
preferred phone addressbook hu elsődleges telefon
|
||||
preferred type of email address to add for distribution lists addressbook hu elsődleges email típus, amit a disztribúciós listához adunk
|
||||
prefix addressbook hu Előtag
|
||||
private custom fields addressbook hu Privát egyedi mezők
|
||||
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.
|
||||
@ -267,8 +325,12 @@ read a single entry by passing the id and fieldlist. addressbook hu Egyedi bejeg
|
||||
read only addressbook hu csak olvasható
|
||||
record access addressbook hu Rekord hozzáférés
|
||||
record owner addressbook hu Rekord tulajdonos
|
||||
region addressbook hu Régió
|
||||
remove selected contacts from distribution list addressbook hu Kijelölt kapcsolatok eltávolítása a disztribúciós listáról
|
||||
removed from distribution list addressbook hu Eltávolítva a disztribúciós listából
|
||||
repetition addressbook hu Ismétlődés
|
||||
replacements for inserting contacts into documents addressbook hu Behelyettesítések a Kapcsolatok dokumentumba történő illesztéséhez
|
||||
required field addressbook hu kötelező mező
|
||||
required fields * addressbook hu kötelező mezők
|
||||
role addressbook hu Szerep
|
||||
room addressbook hu Szoba
|
||||
@ -278,6 +340,7 @@ 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
|
||||
select all addressbook hu Minden kiválasztása
|
||||
select an action or addressbook to move to addressbook hu Válasszon ki egy műveletet, vagy címjegyzéket, ahová mozgassuk
|
||||
select an action or addressbook to move to... addressbook hu Válasszon ki egy műveletet, vagy címjegyzéket, ahová mozgassuk
|
||||
select migration type admin hu Válassza ki a migráció típusát
|
||||
select multiple contacts for a further action addressbook hu Válasszon ki több kapcsolatot a további művelethez
|
||||
select phone number as prefered way of contact addressbook hu az előnyben részesített telefonszám a kapcsolatfelvételhez
|
||||
@ -285,12 +348,14 @@ 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
|
||||
seperator addressbook hu Elválasztó
|
||||
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 birthday reminders on main screen addressbook hu Születésnapi emlékeztetők megjelenítése a főképernyőn
|
||||
show infolog entries for this organisation addressbook hu Jelenítse meg ehhez a szervezethez tartozó InfoLog bejegyzéseket
|
||||
show the contacts of this organisation addressbook hu Jelenítse meg az ehhez a szervezethez tartozó kapcsolatokat
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin hu A felugró ablak mérete (SzélességXMagasság, pl. 400x300, ha a felugró ablak van használatban)
|
||||
stadt addressbook hu Város
|
||||
start admin hu Indít
|
||||
startrecord addressbook hu Kezdő bejegyzés
|
||||
state common hu Állam (US)
|
||||
@ -298,6 +363,7 @@ street common hu Utca
|
||||
subject for email addressbook hu Az email Tárgya
|
||||
successfully imported %1 records into your addressbook. addressbook hu %1 sikeresen importált bejegyzés a címjegyzékbe.
|
||||
suffix addressbook hu Utótag
|
||||
tax number addressbook hu Adószám
|
||||
tel home addressbook hu Otthoni telefon
|
||||
telephony integration admin hu Telefon integráció
|
||||
test import (show importable records <u>only</u> in browser) addressbook hu Test Import (<u>csupán</u> az importálható bejegyzések mutatása a böngészőben)
|
||||
@ -305,29 +371,46 @@ thank you for contacting us. addressbook hu Köszönjük, hogy kapcsolatba lépe
|
||||
that field name has been used already ! addressbook hu A mezőnév már használatban van!
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook hu Az anonymous felhasználó alighanem nem rendelkezik hozzáadási jogosultsággal ehhez a címjegyzékhez.
|
||||
the anonymous user needs add rights for it! addressbook hu Az anonymous felhasználónak hozzáadási jogosultsága kell legyen!
|
||||
the anonymous user needs read it! addressbook hu Az anonymous felhasználónak olvasási joggal kell rendelkeznie!
|
||||
the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (%1full list of placeholder names%2). addressbook hu A dokumentum tartalmazhat olyan speciális szekvenciát (hasonlóan ehhez: $$n_fn$$), melyek lecserélésre kerülnek a Kapcsolat adataival (%1Teljes lista a behelyettesítő szekvenciákról%2).
|
||||
there was an error saving your data :-( addressbook hu Hiba történt az adatainak a mentése közben.
|
||||
this person's first name was not in the address book. addressbook hu Ennek a személynek a vezetékneve nem szerepelt a címjegyzékben.
|
||||
this person's last name was not in the address book. addressbook hu Ennek a személynek a keresztneve nem szerepelt a címjegyzékben.
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook hu Ez a modul egy Kapcsolatfelvételi űrlapot jelenít meg, ami a bevitt kapcsolati adatokat a Címjegyzékbe tárolja el.
|
||||
this module displays block from a adddressbook group. addressbook hu Ez a modul megjelenít egy blokkot egy Címjegyzék csoportból.
|
||||
this person's first name was not in the address book. addressbook hu Ennek a személynek a keresztneve nem szerepelt a címjegyzékben.
|
||||
this person's last name was not in the address book. addressbook hu Ennek a személynek a vezetékneve nem szerepelt a címjegyzékben.
|
||||
timezone addressbook hu Időzóna
|
||||
to many might exceed your execution-time-limit addressbook hu Futtatási idő limit túllépés
|
||||
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
|
||||
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.
|
||||
update a single entry by passing the fields. addressbook hu Egy bejegyzés frissítése a mezők átadásával.
|
||||
update fields by edited organisations? admin hu Frissítsük a mezőket a szerkesztett társaság adatai alapján?
|
||||
updated addressbook hu Frissítve
|
||||
upload or delete the photo addressbook hu Fotó feltöltése vagy törlése
|
||||
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin hu URL a telefonszám hivatkozásokhoz (használja ezeke: %1 = hívott telefonszáma, %u = felhasználói azonosítónév, %t = felhasználó telefonszáma)
|
||||
use an extra category tab? addressbook hu Használjunk egy extra kategória fület?
|
||||
use an extra tab for private custom fields? admin hu Használjunk egy extra fület a privát egyedi mezők kezeléséhez?
|
||||
use country list addressbook hu Ország lista használata
|
||||
use setup for a full account-migration admin hu használja a Beállításokat a teljes felhasználói fiók migrációhoz
|
||||
used for links and for the own sorting of the list addressbook hu hivatkozások és saját sorrendű listákhoz használatos
|
||||
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.
|
||||
vcards require a first name entry. addressbook hu A vCard igényel egy keresztnév bejegyzést.
|
||||
vcards require a last name entry. addressbook hu A vCard igényel egy vezetéknév bejegyzést.
|
||||
verification addressbook hu Hitelesítés
|
||||
view linked infolog entries addressbook hu Kapcsolat InfoLog bejegyzések megtekintése
|
||||
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!
|
||||
warning: template "%1" not found, using default template instead. addressbook hu FIGYELMEZTETÉS: %1 sablon nem található, helyette az alapértelmezettet használjuk.
|
||||
weekday addressbook hu Hétköznap
|
||||
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 hu Más alkalmazásokban mi jelenjen meg a Címjegyzékből. Az üres értékek kimaradnak. Újra be kell jelentkeznie, hogy a változtatások érvényre jussanak.
|
||||
where to add the email address addressbook hu hová adjuk hozzá az email címet
|
||||
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 hu Melyik cím formátumot használja a Címjegyzék a különböző országok esetén, amikor az országban alkalmazott formátum nem ismert. Ha mégis ismert, akkor az a formátum kerül használatra, függetlenül az itt kiválasztott beállítástól.
|
||||
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook hu Melyik címjegyzék kerüljön kiválasztásra abban az esetben, ha egy Kapcsolatot ad hozzá ÉS nincs jogosultsága kapcsolatot hozzáadni az aktuális címjegyzékhez.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook hu Milyen karakterkódolás kerüljön kiválasztásra CSV export esetében. A rendszer alapértelmezetten az eGroupWare telepítésekor meghatározott kódolást használja (valószínűleg utf8).
|
||||
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 hu Melyik mezők kerüljenek exportálásra. Az 'Összes' az összes tárolt mezőt jelenti, beleértve az egyedi mezőket is. Az Üzleti vagy Otthoni cím esetében csak a név, cégnév és a kiválasztott cím kerül exportálásra.
|
||||
whole query addressbook hu teljes lekérdezés
|
||||
work email if given, else home email addressbook hu Üzleti email, ha meg van adva, egyébként az otthoni email cím
|
||||
work phone addressbook hu Munkahelyi telefon
|
||||
write (update or add) a single entry by passing the fields. addressbook hu Egy bejegyzés írása (frissítése vagy hozzáadása) a mezők átadásával.
|
||||
wrong - try again ... addressbook hu Rossz - próbálja újra...
|
||||
@ -339,6 +422,7 @@ you are not permitted to delete contact %1 addressbook hu Nem jogosult a %1 kapc
|
||||
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
|
||||
you are not permittet to view this contact addressbook hu Nem jogosult ennek a kapcsolatnak a megjelenítésére
|
||||
you can only use ldap as contact repository if the accounts are stored in ldap too! admin hu Ha a felhasználói adatokat LDAP-ban tárolja, akkor a Kapcsolatokat is LDAP-ban kell tárolnia! Így járás!
|
||||
you can respond by visiting: addressbook hu Megtekintéshez látogasson el ide:
|
||||
you must select a vcard. (*.vcf) addressbook hu vCard (*.vcf) választása szükséges.
|
||||
you must select at least 1 column to display addressbook hu Legalább egy oszlop kiválasztása szükséges a megjelenítéshez.
|
@ -22,7 +22,7 @@ add a single entry by passing the fields. addressbook nl Voeg een enkele invoer
|
||||
add business email of whole distribution list? addressbook nl Voeg bedrijfsemail of hele distributielijst toe?
|
||||
add custom field addressbook nl Aangepast veld toevoegen
|
||||
add emails of whole distribution list? addressbook nl Voeg emailadressen van de hele distributie lijst toe?
|
||||
add or delete categories addressbook nl Toevoegen of verwijderen categoriën
|
||||
add or delete categoies addressbook nl Toevoegen of verwijderen categoriën
|
||||
add to distribution list: addressbook nl Voeg toe aan distributielijst:
|
||||
added addressbook nl toegevoegd
|
||||
added by synchronisation addressbook nl toegevoegd tijdens synchronisatie
|
410
addressbook/setup/egw_no.lang
Normal file
410
addressbook/setup/egw_no.lang
Normal file
@ -0,0 +1,410 @@
|
||||
%1 added addressbook no %1 lagt til
|
||||
%1 contact(s) %2 addressbook no %1 kontakt(er) %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook no %1 kontakt(er) %2, %3 feilet på grunn av manglende rettigheter !!!
|
||||
%1 fields in %2 other organisation member(s) changed addressbook no %1 felter i %2 andre organisasjons medlemer endret
|
||||
%1 records imported addressbook no %1 rekker importert
|
||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook no %1 rekker lest (ikke importert enda, du kan gå %2tilbake%3 og fjerne haken på Test Import.
|
||||
%1 starts with '%2' addressbook no %1 starter med '%2'
|
||||
%s please calculate the result addressbook no %s vennligst kalkuler resultatet
|
||||
(e.g. 1969) addressbook no (eks. 1969)
|
||||
(empty = use global limit, no = no export at all) admin no tom = bruk global grense, ingen = ingen eksport
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook no <b>Ingen oversettingstype <none> ble funnet.</b>Vennligst velg oversettingstype fra listen.
|
||||
@-eval() is only availible to admins!!! addressbook no @-eval() er kun tilgjengelig for admins!!!
|
||||
account repository admin no Konto base
|
||||
accounts addressbook no Kontoer
|
||||
actions addressbook no Funksjoner
|
||||
add %1 addressbook no Legg til %1
|
||||
add a contact to this organisation addressbook no Legg til en kontakt til denne organisasjonen
|
||||
add a new contact addressbook no Legg til en ny kontakt
|
||||
add a new infolog addressbook no Legg til en ny infolog
|
||||
add a new list addressbook no Legg til en ny liste
|
||||
add a single entry by passing the fields. addressbook no Legg til ett enkelt innslag ved å fylle inn feltene.
|
||||
add business email of whole distribution list? addressbook no Legg til en jobb e-post av hele distribusjons listen?
|
||||
add custom field addressbook no Legg til egendefinert felt
|
||||
add emails of whole distribution list? addressbook no Legg til e-poster av hele distribusjons listen?
|
||||
add or delete categoies addressbook no Legg til eller slett Kategorier
|
||||
add to distribution list: addressbook no Legg til distribusjons liste:
|
||||
added addressbook no lagt til
|
||||
added by synchronisation addressbook no lagt til etter synkronisering
|
||||
added to distribution list addressbook no lagt til distribusjons liste
|
||||
additional information about using ldap as contact repository admin no Tilleggs informasjon om bruk av LDAP som kontakt base
|
||||
address book common no Addressebok
|
||||
address book - vcard in addressbook no Adressebok - VCard inn
|
||||
address book - view addressbook no Adressebok - vis
|
||||
address line 2 addressbook no Adresse Linje 2
|
||||
address type addressbook no Adressetype
|
||||
addressbook common no Adressebok
|
||||
addressbook csv export addressbook no Adressebok CSB eksport
|
||||
addressbook menu addressbook no Adressebok meny
|
||||
addressbook preferences addressbook no Adressebok preferanser
|
||||
addressbook the contact should be saved to addressbook no Adressebok kontakten skal lagres til
|
||||
addressbook the contact should be shown addressbook no Adressebok kontakten skal bli vist
|
||||
addressbook-fieldname addressbook no Adressebok-Feltnavn
|
||||
addvcard addressbook no Legg til VCard
|
||||
advanced search addressbook no Avansert søk
|
||||
all contacts addressbook no Alle kontakter
|
||||
allow users to maintain their own account-data admin no Tillat brukere å oppdatere egne konto-data
|
||||
alt. csv import addressbook no Alternativ CSV Import
|
||||
always addressbook no alltid
|
||||
apply changes to all members, whose fields have the same previous content addressbook no Utfør endringene til alle medlemmer, hvor feltene har samme verdi som tidligere
|
||||
apply the action on the whole query, not only the shown contacts!!! addressbook no Utfør handlingen på hele spørringen, IKKE bare viste kontakter!!!
|
||||
are you shure you want to delete this contact? addressbook no Er du sikker på at du ønsker å slette denne kontakten?
|
||||
are you sure you want to delete this field? addressbook no Er du sikker du vil slette dette feltet?
|
||||
assistent addressbook no Assistent
|
||||
assistent phone addressbook no assistent telefon
|
||||
at the moment the following document-types are supported: addressbook no For nå er følgende dokument-typer støttet:
|
||||
birthday common no Fødselsdag
|
||||
birthdays common no Fødselsdager
|
||||
blank addressbook no Tom
|
||||
business common no Arbeid
|
||||
business address addressbook no Kontor adresse
|
||||
business city addressbook no By, Arbeid
|
||||
business country addressbook no Land, Arbeid
|
||||
business email addressbook no Epost, Arbeid
|
||||
business fax addressbook no Telefaks, Arbeid
|
||||
business phone addressbook no Telefon, Arbeid
|
||||
business state addressbook no Fylke, Arbeid
|
||||
business street addressbook no Gate, Arbeid
|
||||
business zip code addressbook no Postkode, Arbeid
|
||||
calendar fields: addressbook no Kalender felter:
|
||||
calendar uri addressbook no Kalender URI
|
||||
can be changed via setup >> configuration admin no Kan endres via Install >> Konfigurasjon
|
||||
car phone addressbook no Bil Telefon
|
||||
categorie addressbook no kategori
|
||||
categorie added addressbook no kategori lagt til
|
||||
categorie delete addressbook no kategori slettet
|
||||
categories, notes, ... addressbook no Kategorier, Notater, ...
|
||||
category tree admin no Kategori tre
|
||||
cell phone addressbook no Mobiltelefon
|
||||
change all organisation members addressbook no endre alle organisasjoners medlemmer
|
||||
charset for the csv export addressbook no Karaktersett for CSV eksporten
|
||||
charset of file addressbook no Karaktersett for filen
|
||||
check all addressbook no Velg alle
|
||||
choose an icon for this contact type admin no Velg et ikon for denne kontakttype
|
||||
choose owner of imported data addressbook no Velg eier av importert data
|
||||
choose seperator and charset addressbook no Velg skille og karaktersett
|
||||
chosse an etemplate for this contact type admin no Velg en emal for denne kontakt type
|
||||
city common no By
|
||||
company common no Firma
|
||||
company name addressbook no Firmanavn
|
||||
configuration common no Konfigurasjon
|
||||
contact common no Kontakt
|
||||
contact application admin no Kontakt program
|
||||
contact copied addressbook no Kontakt kopiert
|
||||
contact deleted addressbook no Kontakt slettet
|
||||
contact fields to show addressbook no Kontakt felter til visning
|
||||
contact fields: addressbook no Kontakt felter:
|
||||
contact id addressbook no Kontakt ID
|
||||
contact modified by %1 at %2 addressbook no Kontakt endret av %1 på %2
|
||||
contact not found! addressbook no Kontakt ikke funnet!
|
||||
contact repository admin no Kontakt base
|
||||
contact saved addressbook no Kontakt lagret
|
||||
contact settings admin no Kontakt Innstillinger
|
||||
contactform addressbook no Kontakt skjema
|
||||
contacts and account contact-data to ldap admin no kontakter og konto kontakt-data til LDAP
|
||||
contacts and account contact-data to sql admin no kontakter og konto kontakt-data til SQL
|
||||
contacts to ldap admin no kontakter til LDAP
|
||||
contacts to ldap, account contact-data to sql admin no kontakter til LDAP, konto kontakt-data til SQL
|
||||
contains addressbook no innholder
|
||||
copied by %1, from record #%2. addressbook no Kopiert av %1, fra rekke #%2.
|
||||
copy a contact and edit the copy addressbook no Kopier en kontakt og rediger kopien
|
||||
copy your changes to the clipboard, %1reload the entry%2 and merge them. addressbook no Kopier dine endringer til utklipps minne, %1last inn post på nytt%2 og slå dem sammen.
|
||||
country common no Land
|
||||
create new links addressbook no Opprette nye lenker
|
||||
created addressbook no Opprettet
|
||||
credit addressbook no Krediter
|
||||
csv-fieldname addressbook no CSV-Feltnavn
|
||||
csv-filename addressbook no CSV-FIlnavn
|
||||
custom addressbook no Egendefinert
|
||||
custom etemplate for the contactform addressbook no Egendefinert eMal for kontakt skjema
|
||||
custom fields addressbook no Egendefinerte Felter
|
||||
debug output in browser addressbook no Feilsøkingsmeldinger i webleser
|
||||
default addressbook no standard
|
||||
default address format addressbook no Standard adresse format
|
||||
default addressbook for adding contacts addressbook no Standard adressebok for nye kontakter
|
||||
default document to insert contacts addressbook no Standard dokument for innsetting av kontakter
|
||||
default file as format addressbook no Standard fil som format
|
||||
default filter addressbook no Standard Filter
|
||||
default format for fileas, eg. for new entries. addressbook no Standard format for lagre som, f.eks. for nye poster.
|
||||
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook no Definerer hvilke e-post adresser (kontor eller hjem) for bruk som foretrukket ved distribusjons lister i e-post
|
||||
delete a single entry by passing the id. addressbook no Oppgi id for å slette ett enkelt innslag.
|
||||
delete selected distribution list! addressbook no Slett valgt distribusjons liste!
|
||||
delete this contact addressbook no Slett denne kontakten
|
||||
delete this organisation including all its contacts addressbook no Slette denne organisasjonen inkludert ALLE dens kontakter
|
||||
deleted addressbook no slettet
|
||||
deletes the photo addressbook no Sletter bildet
|
||||
department common no Avdeling
|
||||
departments addressbook no avdelinger
|
||||
directory with documents to insert contacts addressbook no Mappe med dokumenter for insetting av kontakter
|
||||
display contact addressbook no Vis Kontakt
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook no Viser en varsling for bursdager på startsiden (siden du får når du åpner eGroupWare eller trykker på hjem ikonet).
|
||||
distribution list deleted addressbook no Distribusjons liste slettet
|
||||
distribution lists addressbook no Distribusjons lister
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook no Vil du ha en privat adressebok, som ikke kan bli sett av andre brukere, som du gir tilgang til din personlige adressebok?
|
||||
do your really want to delete this contact? addressbook no Vil du virkelig å slette denne kontakten?
|
||||
document '%1' does not exist or is not readable for you! addressbook no Dokument '%1' eksisterer ikke eller er ikke lesbar for deg!
|
||||
doesn't matter addressbook no Spiller ingen rolle
|
||||
domestic addressbook no Innenlands
|
||||
don't hide empty columns addressbook no Ikke gjem tomme kolonner
|
||||
download addressbook no Last ned
|
||||
download export file (uncheck to debug output in browser) addressbook no Last ned eksport fil (fjern hake for å se feilsøkingsinformasjon i webleser)
|
||||
download this contact as vcard file addressbook no Last ned kontakten som en vCard-fil
|
||||
duration addressbook no Tiden det tar
|
||||
edit custom field addressbook no Endre egendefinert felt
|
||||
edit custom fields admin no Endre egendefinerte felter
|
||||
edit extra account-data in the addressbook admin no Rediger ekstra konto-data i adresseboken
|
||||
edit phonenumbers - addressbook no Endre telefonnummere
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook no Enten er den konfigurerte e-post adressen feil eller så er det e-post konfigurasjonen.
|
||||
email & internet addressbook no E-post og Internett
|
||||
email addresses (comma separated) to send the contact data addressbook no E-post adresser (komma separert) for sending av kontakt data
|
||||
empty for all addressbook no tom for alle
|
||||
enable an extra private addressbook addressbook no Aktiver en ekstra privat adressebok
|
||||
end addressbook no Slutt
|
||||
enter the path to the exported file here addressbook no Skriv inn sti til den eksporterte filen her
|
||||
error deleting the contact !!! addressbook no Feil ved sletting av kontakten !!!
|
||||
error saving the contact !!! addressbook no Feil ved lagring av kontakten !!!
|
||||
error: the entry has been updated since you opened it for editing! addressbook no Feil: posten har blitt oppdatert siden du åpnet den for redigering!
|
||||
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 no Eksempel $$IF n_prefix~Mr~Hei Mr.~Hei Ms.$$ - søk feltet "n_prefix", for "Mr", hvis funnet, skriv Hei Mr., ellers skriv Hei Ms.
|
||||
existing links addressbook no Eksisterende lenker
|
||||
export addressbook no eksport
|
||||
export as csv addressbook no Eksporter som CSV
|
||||
export as vcard addressbook no Eksporter som VCard
|
||||
export contacts addressbook no Eksporter Kontakter
|
||||
export file name addressbook no Eksport filnavn
|
||||
export from addressbook addressbook no Eksport fra Adressebok
|
||||
export selection addressbook no Eksporter valgte
|
||||
exported addressbook no eksportert
|
||||
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 no Eksporterer kontakter fra din Adressebok til en CSV Fil. CSV betyr 'Komma Separert Verdi'. Men i kategorien Alternativer kan du også velge andre separerings tegn.
|
||||
extra addressbook no Ekstra
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook no klarte ikke å endre %1 organisasjons medlem(er) (ikke nok rettigheter) !!!
|
||||
fax addressbook no Telefaks
|
||||
fax number common no Telefaks Nummer
|
||||
field %1 has been added ! addressbook no Felt %1 ble lagt til !
|
||||
field %1 has been updated ! addressbook no Felt %1 ble oppdatert!
|
||||
field name addressbook no Felt Navn
|
||||
fields for the csv export addressbook no Felter for CSV eksporten
|
||||
fields the user is allowed to edit himself admin no Felter brukeren kan redigere selv
|
||||
fields to show in address list addressbook no Felter som skal vises i adresse listen
|
||||
fieldseparator addressbook no Felt skiller
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook no for mer enn en kontakt i et dokument bruk taggen side gjentagelse!
|
||||
for read only ldap admin no for kun lesing LDAP
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook no For serie brev bruke denne koden. Sett innholdet du ønsker å gjenta mellom to koder.
|
||||
freebusy uri addressbook no Ledig opptat URI
|
||||
full name addressbook no Fullt Navn
|
||||
general addressbook no Generelt
|
||||
general fields: addressbook no Generelle felter:
|
||||
geo addressbook no GEO
|
||||
global categories addressbook no Globale Kategorier
|
||||
grant addressbook access common no Gi adressebok tilgang
|
||||
group %1 addressbook no Gruppe %1
|
||||
h addressbook no t
|
||||
hide accounts from addressbook addressbook no Skjul kontoer fra adressebok
|
||||
hides accounts completly from the adressbook. addressbook no Skjuler kontoer totalt fra adresseboken.
|
||||
home address addressbook no Hjem adresse
|
||||
home address, birthday, ... addressbook no Hjem adresse, Bursdag, ...
|
||||
home city addressbook no Hjem By
|
||||
home country addressbook no Hjem Land
|
||||
home email addressbook no Hjem E-post
|
||||
home email if given, else work email addressbook no Hjem e-post hvis oppgitt, eller Arbeid e-post
|
||||
home phone addressbook no Hjem Telefon
|
||||
home state addressbook no Hjem Fylke
|
||||
home street addressbook no Hjem Gate
|
||||
home zip code addressbook no Hjem Postnummer
|
||||
how many contacts should non-admins be able to export admin no Hvor mange kontakter bør en ikke-admin kunne eksportere
|
||||
icon addressbook no Ikon
|
||||
if accounts are already in ldap admin no hvis kontaktene allerede er i LDAP
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook no hvis du spesifiserer en mappe (full vfs sti) her, viser adresseboken en handling for hvert dokument. Den handlingen lar deg laste ned det spesifiserte dokumentet med kontakt data satt inn.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook no hvis du spesifiserer et dokument (full vfs sti) her, viser adresseboken et ekstra dokument ikon for hver adresse. Det ikonet lar deg laste ned det spesifiserte dokumentet med kontakt data satt inn.
|
||||
import addressbook no Importer
|
||||
import contacts addressbook no Importer Kontakter
|
||||
import csv-file into addressbook addressbook no Importer CSV-fil i Adresselisten
|
||||
import file addressbook no Importer Fil
|
||||
import from addressbook no Importer fra
|
||||
import from ldif, csv, or vcard addressbook no Importer fra LDIF, CSV eller VCard
|
||||
import from outlook addressbook no Importer fra Outlook
|
||||
import multiple vcard addressbook no Importer flere VCard
|
||||
import next set addressbook no Importer neste sett
|
||||
import_instructions addressbook no I Netscape, åpne adresselisten og velg <b>Eksporter</b> fra <b>Fil</b> menyen. Den eksporterte filen vil være i LDIF format. I Outlook velger du Kontakter mappen, så <b>Import og eksport...</b> fra <b>Fil</b> menyen, og eksporterer kontaktene til en kommaseparert (CSV) fil.<p>For Palm Desktop 4.0 og høyere, gå til adresseliste og velg <b>Eksport</b> fra <b>Fil</b> menyen. Den eksporterte filen vil være på VCard format.
|
||||
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 no Importerer kontakter i din Adressebok fra en CSV Fil. CSV betyr 'Komma Separert Verdi'. Du kan likevel i alternativer fliken velge andre separerings verdier.
|
||||
in %1 days (%2) is %3's birthday. addressbook no Om %1 dag (%2) har %3 bursdag.
|
||||
income addressbook no Inntekt
|
||||
insert in document addressbook no Sett inn dokument
|
||||
insufficent rights to delete this list! addressbook no Ikke nok rettigheter til å slette denne listen!
|
||||
international addressbook no Internasjonal
|
||||
label addressbook no Etikett
|
||||
last date addressbook no Siste dato
|
||||
last modified addressbook no sist endret
|
||||
last modified by addressbook no sist endret av
|
||||
ldap context for contacts admin no LDAP område for kontakter
|
||||
ldap host for contacts admin no LDAP vert for kontakter
|
||||
ldap settings for contacts admin no LDAP instillinger for kontakter
|
||||
ldif addressbook no LDIF
|
||||
line 2 addressbook no Linje 2
|
||||
link title for contacts show addressbook no Koblings tittel for kontakt visning
|
||||
links addressbook no Lenker
|
||||
list all categories addressbook no Liste alle kategorier
|
||||
list all customfields addressbook no Liste alle egendefinerte felt
|
||||
list already exists! addressbook no Listen eksisterer allerede!
|
||||
list created addressbook no Listen opprettet
|
||||
list creation failed, no rights! addressbook no Liste opprettelse feilet, ingen rettigheter!
|
||||
load sample file addressbook no Last inn en Prøve fil
|
||||
load vcard addressbook no Last VCard
|
||||
location addressbook no Sted
|
||||
locations addressbook no Steder
|
||||
manage mapping addressbook no Behandle koblinger
|
||||
mark records as private addressbook no Merk rekkene som private
|
||||
merge into first or account, deletes all other! addressbook no Slå sammen med første konto, sletter alle andre!
|
||||
merged addressbook no slått sammen
|
||||
message after submitting the form addressbook no Melding etter sending av skjemaet
|
||||
message phone addressbook no Meldings Telefon?
|
||||
middle name addressbook no Mellomnavn
|
||||
migration finished addressbook no Migrering ferdig
|
||||
migration to ldap admin no Migrering til LDAP
|
||||
mobile addressbook no Mobil
|
||||
mobile phone addressbook no Mobiltelefon
|
||||
modem phone addressbook no Modem Telefon
|
||||
more ... addressbook no Mere...
|
||||
move to addressbook: addressbook no Flytt til adressebok:
|
||||
moved addressbook no flyttet
|
||||
multiple vcard addressbook no Flere VCard
|
||||
name for the distribution list addressbook no Navn for distribusjons listen
|
||||
name of current user, all other contact fields are valid too addressbook no Navnet til gjeldende bruker, alle andre kontakt felter er gyldig også
|
||||
name, address addressbook no Navn, Adresse
|
||||
new contact submitted by %1 at %2 addressbook no Ny kontakt lagt til av &1 den %2
|
||||
new window opened to edit infolog for your selection addressbook no Nytt vindu åpnet for redigering av Infologg for dine valg
|
||||
next date addressbook no Neste dato
|
||||
no categories selected addressbook no ingen kategorier valgt
|
||||
no vcard addressbook no Ingen VCard
|
||||
number addressbook no Nummer
|
||||
number of records to read (%1) addressbook no Antall rekker som leses (%1)
|
||||
options for type admin no Instillinger for type
|
||||
organisation addressbook no organisasjon
|
||||
organisations addressbook no Organisasjoner
|
||||
organisations by departments addressbook no Organisasjoner etter avdeling
|
||||
organisations by location addressbook no Organisasjoner etter lokasjon
|
||||
other number addressbook no Annet Nummer
|
||||
other phone addressbook no Annen Telefon
|
||||
own sorting addressbook no egen sortering
|
||||
pager common no Personsøker
|
||||
parcel addressbook no Pakken
|
||||
participants addressbook no Deltagere
|
||||
permission denied !!! addressbook no Tilgang avvist !!!
|
||||
phone number common no Telefon Nummer
|
||||
phone numbers common no Telefon Numre
|
||||
photo addressbook no Bilde
|
||||
please enter a name for that field ! addressbook no Vennligst skriv inn feltnavn !
|
||||
please select only one category addressbook no Vennligst velg en kategori
|
||||
please update the templatename in your customfields section! addressbook no Vennligst oppdater malnavnet i dine egendefinerte felter seksjon!
|
||||
postal common no Post
|
||||
pref addressbook no Pref.
|
||||
preferred email address to use in distribution lists addressbook no Foretrukket e-post adresse for bruk i distribusjons lister
|
||||
preferred phone addressbook no foretrukket telefon
|
||||
preferred type of email address to add for distribution lists addressbook no foretrukket type e-post adresse for legg til i distribusjons lister
|
||||
prefix addressbook no Forstavelse
|
||||
public key addressbook no Offentlig Nøkkel
|
||||
publish into groups: addressbook no Publiser i grupper :
|
||||
read a list / search for entries. addressbook no Les en liste / søk etter forekomster
|
||||
read a list of entries. addressbook no Lese liste
|
||||
read a single entry by passing the id and fieldlist. addressbook no Les ett enkelt innslag ved å gi id og feltliste.
|
||||
read only addressbook no kun lesing
|
||||
record access addressbook no Post tilgang
|
||||
record owner addressbook no Post eier
|
||||
remove selected contacts from distribution list addressbook no Fjern valgte kontakter fra distribusjons listen
|
||||
removed from distribution list addressbook no fjernet fra distribusjons listen
|
||||
repetition addressbook no Repetisjon
|
||||
replacements for inserting contacts into documents addressbook no Erstatninger for insetting av kontakter i dokumenter
|
||||
required fields * addressbook no pålagte felter *
|
||||
role addressbook no Rolle
|
||||
room addressbook no Rom
|
||||
search for '%1' addressbook no Søk etter '%1'
|
||||
select a portrait format jpeg photo. it will be resized to 60 pixel width. addressbook no Velg et portrett formatert jpeg bilde. Det vil bli omgjort til 60 piksler bredt.
|
||||
select a view addressbook no Velg en visning
|
||||
select addressbook type addressbook no Velg adressebok type
|
||||
select all addressbook no Velg alle
|
||||
select an action or addressbook to move to addressbook no Velg en handling eller adressebok for flytting til
|
||||
select migration type admin no Velg migrerings type
|
||||
select multiple contacts for a further action addressbook no Velg flere kontakter for videre handling
|
||||
select phone number as prefered way of contact addressbook no velg telefon nummer som foretrekkes ved kontakt
|
||||
select the type of conversion addressbook no Velg konverteringstype
|
||||
select the type of conversion: addressbook no Velg konverterings type:
|
||||
select where you want to store / retrieve contacts admin no Velg hvor du vil lagre / hente kontakter
|
||||
selected contacts addressbook no valgte kontakter
|
||||
should the columns photo and home address always be displayed, even if they are empty. addressbook no Bør kolonne bildet og hjem adressen alltid vises, selv om de er tomme.
|
||||
show addressbook no Vis
|
||||
show birthday reminders on main screen addressbook no Vis fødselsdags-påminnelse på hovedskjerm
|
||||
show infolog entries for this organisation addressbook no Vis InfoLogg poster for denne organisasjonen
|
||||
show the contacts of this organisation addressbook no Vis kontaktene til denne organisasjonen
|
||||
size of popup (wxh, eg.400x300, if a popup should be used) admin no Størrelse på sprettopp (BxH f.eks.400x300, hvis en sprettopp skal brukes)
|
||||
start admin no Start
|
||||
startrecord addressbook no Start post
|
||||
state common no Fylke
|
||||
street common no Gate
|
||||
subject for email addressbook no E-post emne
|
||||
successfully imported %1 records into your addressbook. addressbook no Vellykket import av %1 rekker til adresseboken.
|
||||
suffix addressbook no Endelse
|
||||
tel home addressbook no Tlf. hjemme
|
||||
telephony integration admin no Telefoni integrasjon
|
||||
test import (show importable records <u>only</u> in browser) addressbook no Test Import (vis <u>kun</u> importerbare rekker i webleser)
|
||||
thank you for contacting us. addressbook no Takk for at du kontaktet oss.
|
||||
that field name has been used already ! addressbook no Feltnavnet er allerede i bruk !
|
||||
the anonymous user has probably no add rights for this addressbook. addressbook no Den anonume brukeren har sannsynlig vis ikke noen legg til rettigheter for denne adresseboken.
|
||||
the anonymous user needs add rights for it! addressbook no Den anonyme brukeren trenger legg til rettigheter for den!
|
||||
the anonymous user needs read it! addressbook no Den anonyme brukeren trenger les rettigheter for den!
|
||||
the document can contain placeholder like $$n_fn$$, to be replaced with the contact data (%1full list of placeholder names%2). addressbook no Dette dokumentet kan inneholde felter som $$n_fn$$, som erstattes med kontakt data (%1 full liste med felt navn %2
|
||||
there was an error saving your data :-( addressbook no Det oppsto en feil ved lagring av dine data :-(
|
||||
this module displays a contactform, that stores direct into the addressbook. addressbook no Denne modulen viser et kontaktskjema, som lagres direkte i adresseboken.
|
||||
this module displays block from a adddressbook group. addressbook no Denne modulen viser Blokkering fra en Adressebok Gruppe.
|
||||
this person's first name was not in the address book. addressbook no Personens fornavn var ikke i adresseboken
|
||||
this person's last name was not in the address book. addressbook no Personens etternavn var ikke i adresseboken
|
||||
timezone addressbook no Tidssone
|
||||
to many might exceed your execution-time-limit addressbook no for mange vil muligens overskride din eksekverings-tidsgrense
|
||||
today is %1's birthday! common no I dag har %1 fødselsdag!
|
||||
tomorrow is %1's birthday. common no I morgen er det %1's fødselsdag.
|
||||
translation addressbook no Oversetting
|
||||
type addressbook no Type
|
||||
update a single entry by passing the fields. addressbook no Oppdater ett enkelt innslag ved å legge inn felter.
|
||||
update fields by edited organisations? admin no Oppdater Felter ettter redigerte organisasjoner?
|
||||
updated addressbook no Oppdatert
|
||||
upload or delete the photo addressbook no Last opp eller slett bildet
|
||||
url to link telephone numbers to (use %1 = number to call, %u = account name, %t = account phone) admin no URL til koblet telefon nummer til (bruk %1 = nummer å ringe, %u= konto navn, %t= konto telefon)
|
||||
use an extra category tab? addressbook no Bruk en ekstra kategori flik?
|
||||
use an extra tab for private custom fields? admin no Bruk en ekstra flik for private egendefinerte felter?
|
||||
use country list addressbook no Bruk landliste
|
||||
use setup for a full account-migration admin no bruk oppsett for en full konto-migrering
|
||||
used for links and for the own sorting of the list addressbook no brukt til koblinger og for egen sortering av listen
|
||||
vcard common no VCard
|
||||
vcards require a first name entry. addressbook no VCard krever fornavn.
|
||||
vcards require a last name entry. addressbook no VCard krever etternavn.
|
||||
verification addressbook no Verifisering
|
||||
view linked infolog entries addressbook no Vis koblede InfoLogg poster
|
||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin no ADVARSEL!! LDAP er kun aktuellt dersom du IKKE bruker kontakter til konto lagring!
|
||||
warning: all contacts found will be deleted! addressbook no Advarsel: Alle kontakter funnet vil bli slettet!
|
||||
warning: template "%1" not found, using default template instead. addressbook no ADVARSEL: Mal '%1' ikke funnet, bruker standard mal i stedet.
|
||||
weekday addressbook no Ukedag
|
||||
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 no Hva bør koblinger til adresseboken vise i andre programmer. tomme verdier blir ikke tatt med. Du må logge inn på nytt, hvis du endrer denne instillingen!
|
||||
where to add the email address addressbook no hvor skal e-post adressen legges til
|
||||
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 no Hvilket adresse format bør adresseboken bruke for land den ikke vet adresse formatet på. Hvis adresse formatet for et land er kjent, brukes egne innstillinger for dette valget.
|
||||
which addressbook should be selected when adding a contact and you have no add rights to the current addressbook. addressbook no Hvilken adressebok bør velges når legger til en kontakt OG du har ingen rettigheter til gjeldende adressebok.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook no Hvilket tegnsett bør brukes for CSV eksporten. System standard er tegnsettet til denne eGroupWare installasjonen.
|
||||
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 no Hvilke felter bør eksporteres. Alle betyr alle felter lagret i adresseboken inkludert egendefinerte felter. Arbeids eller hjem adresse inneholder kun navn, firma og valgte adresse.
|
||||
whole query addressbook no hele spørringen
|
||||
work email if given, else home email addressbook no Arbeids e-post hvis oppgitt, ellers hjem e-post
|
||||
work phone addressbook no Arbeids Telefon
|
||||
write (update or add) a single entry by passing the fields. addressbook no Skriv (oppdater eller legg til) en enkel post ved å gå gjennom feltene.
|
||||
wrong - try again ... addressbook no Feil - prøv igjen ...
|
||||
yes, for the next three days addressbook no Ja, for neste tre dager
|
||||
yes, for the next two weeks addressbook no Ja, for neste to uker
|
||||
yes, for the next week addressbook no Ja, for neste uke
|
||||
yes, for today and tomorrow addressbook no Ja, for i dag og i morgen
|
||||
you are not permitted to delete contact %1 addressbook no Du har ikke tillatelse til å slette kontakt %1
|
||||
you are not permittet to delete this contact addressbook no Du har ikke tillatelse til å slette denne kontakten
|
||||
you are not permittet to edit this contact addressbook no Du har ikke tillatelse til å endre denne kontakten
|
||||
you are not permittet to view this contact addressbook no Du har ikke tillatelse til å vise denne kontakten
|
||||
you can only use ldap as contact repository if the accounts are stored in ldap too! admin no Du kan bare bruke LDAP som kontakt base hvis kontoene er lagret i LDAP også!
|
||||
you can respond by visiting: addressbook no For å se den besøk:
|
||||
you must select a vcard. (*.vcf) addressbook no Du må velge et vcard. (*.vcf)
|
||||
you must select at least 1 column to display addressbook no Du må velge minst en kolonne for visning
|
||||
you need to select a distribution list addressbook no Du må velge en distribusjons liste
|
||||
you need to select some contacts first addressbook no Du må velge noen kontakter først
|
||||
zip code common no Postnummer
|
||||
zip_note addressbook no <p><b>Merk:</b>Denne filen kan være en pakket samling av .csv, .vcf eller .ldif filer. Du må ikke blande filtyper under import.
|
@ -21,7 +21,7 @@ add a single entry by passing the fields. addressbook pt-br Adicionar uma única
|
||||
add business email of whole distribution list? addressbook pt-br Adicionar e-mail comercial para uma lista de distribuição inteira ?
|
||||
add custom field addressbook pt-br Adicionar campo personalizado
|
||||
add emails of whole distribution list? addressbook pt-br Adicionar emails de toda lista de distribuição?
|
||||
add or delete categories addressbook pt-br Adicionar ou remover Categorias
|
||||
add or delete categoies addressbook pt-br Adicionar ou remover Categorias
|
||||
add to distribution list: addressbook pt-br Adicionar a uma lista de distribuição
|
||||
added addressbook pt-br adicionado
|
||||
added by synchronisation addressbook pt-br adicionado por sincronização
|
@ -21,7 +21,7 @@ add a single entry by passing the fields. addressbook ru Добавить одн
|
||||
add business email of whole distribution list? addressbook ru Добавить рабочий адрес всего списка рассылки?
|
||||
add custom field addressbook ru Добавить Пользовательское Поле
|
||||
add emails of whole distribution list? addressbook ru Добавить адреса всего списка рассылк?
|
||||
add or delete categories addressbook ru Добавить или удалить Категории
|
||||
add or delete categoies addressbook ru Добавить или удалить Категории
|
||||
add to distribution list: addressbook ru Добавить к списку рассылки:
|
||||
added addressbook ru добавлено
|
||||
added by synchronisation addressbook ru добавлено при синхронизации
|
@ -1,14 +1,13 @@
|
||||
%1 added addressbook sk %1 pridané
|
||||
%1 contact(s) %2 addressbook sk %1 kontakt(ov) %2
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook sk %1 kontakt(ov) %2, %3 sa nepodarilo z dôvodu nedostatočných práv !!!
|
||||
%1 contacts updated (%2 errors). addressbook sk %1 kontaktov bolo zaktualizovaných (%2 chýb).
|
||||
%1 contact(s) %2, %3 failed because of insufficent rights !!! addressbook sk %1 kontakt(ov) %2, %3 sa nepodarilov z dôvodu nedostatočných práv !!!
|
||||
%1 fields in %2 other organisation member(s) changed addressbook sk %1 položiek u %2 členov iných organizácií sa zmenilo
|
||||
%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 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)
|
||||
(empty = use global limit, no = no export at all) admin sk (prázdne = použiť globálny limit, nie = žiadny export)
|
||||
(empty = use global limit, no = no export at all) admin sk (prázdne = použiť globálny limit, nie = úplne bez exportu)
|
||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook sk <b>Nevybrali ste žiadny typ prevodu.</b> Prosím, vyberte ho zo zoznamu.
|
||||
@-eval() is only availible to admins!!! addressbook sk Iba správci môžu použiť @-eval() !!!
|
||||
account repository admin sk Zdroj pre účty
|
||||
@ -23,7 +22,7 @@ add a single entry by passing the fields. addressbook sk Pridať záznam pomocou
|
||||
add business email of whole distribution list? addressbook sk Pridať Zamestnanie - Email celého distribučného zoznamu
|
||||
add custom field addressbook sk Pridať používateľskú položku
|
||||
add emails of whole distribution list? addressbook sk Pridať Email celého distribučného zoznamu?
|
||||
add or delete categories addressbook sk Pridať alebo odstrániť kategórie
|
||||
add or delete categoies addressbook sk Pridať alebo odstrániť kategórie
|
||||
add to distribution list: addressbook sk Pridať do distribučného zoznamu:
|
||||
added addressbook sk pridané
|
||||
added by synchronisation addressbook sk Pridané cez synchronizáciu
|
||||
@ -36,7 +35,6 @@ address line 2 addressbook sk Adresa riadok 2
|
||||
address type addressbook sk Typ adresy
|
||||
addressbook common sk Adresár
|
||||
addressbook csv export addressbook sk CSV export Adresára
|
||||
addressbook field addressbook sk Pole Adresára
|
||||
addressbook menu addressbook sk Ponuka Adresára
|
||||
addressbook preferences addressbook sk Predvoľby Adresára
|
||||
addressbook the contact should be saved to addressbook sk Adresár -tento kontakt uložiť do
|
||||
@ -115,7 +113,6 @@ country common sk Krajina
|
||||
create new links addressbook sk Vytvoriť nové odkazy
|
||||
created addressbook sk Vytvorené
|
||||
credit addressbook sk Kredit
|
||||
csv field addressbook sk Pole CSV
|
||||
csv-fieldname addressbook sk Pole v CSV
|
||||
csv-filename addressbook sk CSV súbor
|
||||
custom addressbook sk Vlastné
|
||||
@ -127,8 +124,8 @@ default address format addressbook sk Predvolený formát adresy
|
||||
default addressbook for adding contacts addressbook sk Predvolený adresár pre pridávanie kontaktov
|
||||
default document to insert contacts addressbook sk Predvolený dokument pre vloženie kontaktov
|
||||
default file as format addressbook sk Predvolený formát pre súbor ako
|
||||
default filter addressbook sk Predvolený filter
|
||||
default format for fileas, eg. for new entries. addressbook sk Predvolený formát pre súbor ako, napríklad pre nové položky
|
||||
default filter addressbook sk Štandardný filter
|
||||
default format for fileas, eg. for new entries. addressbook sk Predvolený formát pre súbor ako, napr. pre nové položky
|
||||
defines which email address (business or home) to use as the preferred one for distribution lists in mail. addressbook sk Definuje, ktorá E-mailová adresa (pracovná alebo domáca) sa má používať ako predvolená v distribučnom zozname Emailu.
|
||||
delete a single entry by passing the id. addressbook sk Odstráni záznam podľa zadaného id.
|
||||
delete selected distribution list! addressbook sk Odstráň vybraný distribučný zoznam!
|
||||
@ -143,8 +140,7 @@ display contact addressbook sk Zobraziť kontakt
|
||||
displays a remider for birthdays on the startpage (page you get when you enter egroupware or click on the homepage icon). addressbook sk Zobrazí pripomienku o narodeninách na úvodnej stránke (to je tá, ktorá sa zobrazí hneď po prihlásení do eGroupWare, alebo po kliknutí na ikonu Domov).
|
||||
distribution list deleted addressbook sk Distribučný zoznam bol odstránený
|
||||
distribution lists addressbook sk Distribučné zoznamy
|
||||
distribution lists, ... addressbook sk Distribučné zoznamy, ...
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook sk Chcete súkromný adresár, ktorý nemôžu prezerať ostatní používatelia? Prístupové oprávnenia ku svojmu osobnému Adresáru prideľujete vy.
|
||||
do you want a private addressbook, which can not be viewed by users, you grant access to your personal addressbook? addressbook sk Chcete súkromný adresár, ktorý ostatní používatelia nemôžu prezerať? Vy prideľujete prístupové oprávnenia ku svojmu osobnému Adresáru.
|
||||
do your really want to delete this contact? addressbook sk Naozaj chcete odstrániť tento kontakt?
|
||||
document '%1' does not exist or is not readable for you! addressbook sk Dokument '%1' neexistuje, alebo nemáte oprávnenia čítať ho!
|
||||
doesn't matter addressbook sk Nezáleží
|
||||
@ -161,10 +157,8 @@ edit phonenumbers - addressbook sk Upraviť telefónne čísla -
|
||||
either the configured email addesses are wrong or the mail configuration. addressbook sk Buď sú chybné E-mailové adresy, alebo nastavenia E-mailu.
|
||||
email & internet addressbook sk Email & Internet
|
||||
email addresses (comma separated) to send the contact data addressbook sk E-mailové adresy oddelené čiarkou, kam poslať kontaktné údaje
|
||||
empty admin sk Prázdne
|
||||
empty for all addressbook sk Prázdne znamená: všetko
|
||||
enable an extra private addressbook addressbook sk Zapnúť extra súkromný adresár
|
||||
enclosure addressbook sk Skrinka
|
||||
end addressbook sk Koniec
|
||||
enter the path to the exported file here addressbook sk Zadajte cestu k exportovanému súboru
|
||||
error deleting the contact !!! addressbook sk Chyba pri odstraňovaní kontaktu !!!
|
||||
@ -181,7 +175,6 @@ export selection addressbook sk Exportovať výber
|
||||
exported addressbook sk Exportované
|
||||
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 sk Vyexportuje kontakty z Vášho Adresára do súbodu CSV (Comma Separated Values čiže hodnoty oddelené čiarkou). V karte možností môžete zvoliť aj iný oddeľovač než čiarku.
|
||||
extra addressbook sk Extra
|
||||
extra private addressbook sk Extra súkromné
|
||||
failed to change %1 organisation member(s) (insufficent rights) !!! addressbook sk nepodarilo sa vykonať zmeny u %1 členov organizácie -nedostatočné práva !!!
|
||||
fax addressbook sk Fax
|
||||
fax number common sk Číslo faxu
|
||||
@ -192,7 +185,6 @@ fields for the csv export addressbook sk Polia pre CSV export
|
||||
fields the user is allowed to edit himself admin sk Polia, ktoré smie používateľ upravovať
|
||||
fields to show in address list addressbook sk Viditeľné polia v zozname
|
||||
fieldseparator addressbook sk Oddeľovač polí
|
||||
fieldseperator addressbook sk Oddeľovač polí
|
||||
for more then one contact in a document use the tag pagerepeat! addressbook sk Ak chcete v dokumente viac než jeden kontakt, použite značku opakovania stránky!
|
||||
for read only ldap admin sk pre LDAP iba na čítanie
|
||||
for serial letter use this tag. put the content, you want to repeat between two tags. addressbook sk Ak chcete sériový list, použite túto značku. Zadajte obsah, ktorý chcete opakovať, medzi dve značky.
|
||||
@ -217,12 +209,11 @@ home phone addressbook sk Domov - Telefón
|
||||
home state addressbook sk Domov - Štát
|
||||
home street addressbook sk Domov - Ulica
|
||||
home zip code addressbook sk Domov - PSČ
|
||||
how many contacts should non-admins be able to export admin sk Koľko kontaktov smú ne-administrátori exportovať?
|
||||
how many contacts should non-admins be able to export admin sk Koľko kontaktov smú vyexportovať nie-admini
|
||||
icon addressbook sk Ikona
|
||||
if accounts are already in ldap admin sk ak sú účty už v LDAP
|
||||
if you specify a directory (full vfs path) here, addressbook displays an action for each document. that action allows to download the specified document with the contact data inserted. addressbook sk Ak zadáte adresár (plnú VFS cestu), Adresár zobrazí akciu pre každý dokument. Táto akcia umožní stiahnuť určený dokument s vloženými kontaktnými údajmi.
|
||||
if you specify a document (full vfs path) here, addressbook displays an extra document icon for each address. that icon allows to download the specified document with the contact data inserted. addressbook sk Ak zadáte dokument (plnú VFS cestu), Adresár zobrazí extra ikonu dokumentu akciu pre každú adresu. Táto ikona umožní stiahnuť určený dokument s vloženými kontaktnými údajmi.
|
||||
ignore first line addressbook sk Ignorovať prvý riadok
|
||||
import addressbook sk Import
|
||||
import contacts addressbook sk Importovať kontakty
|
||||
import csv-file into addressbook addressbook sk Importovat CSV súbor do Adresára
|
||||
@ -236,11 +227,9 @@ import_instructions addressbook sk V Netscape otvorte Adresár a vyberte <b>Expo
|
||||
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 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.
|
||||
in %1 days (%2) is %3's birthday. addressbook sk O %1 dní (%2) bude mať narodeniny %3.
|
||||
income addressbook sk Príjem
|
||||
infolog addressbook sk Záznamník
|
||||
insert in document addressbook sk Vložiť do dokumentu
|
||||
insufficent rights to delete this list! addressbook sk Nemáte dostatočné práva k odstráneniu tohto zoznamu!
|
||||
international addressbook sk Mezinárodný
|
||||
internet addressbook sk Internet
|
||||
label addressbook sk Označenie
|
||||
last date addressbook sk Posledný dátum
|
||||
last modified addressbook sk Naposledy zmenené
|
||||
@ -311,7 +300,6 @@ preferred email address to use in distribution lists addressbook sk Predvolená
|
||||
preferred phone addressbook sk Uprednostňovaný telefón
|
||||
preferred type of email address to add for distribution lists addressbook sk Predvolený typ E-mailovej adresy pridaný pre distribučné zoznamy
|
||||
prefix addressbook sk Titul
|
||||
private custom fields addressbook sk Súkromné užívateľské polia
|
||||
public key addressbook sk Verejný kľúč
|
||||
publish into groups: addressbook sk Publikovať do skupín:
|
||||
read a list / search for entries. addressbook sk Načítať zoznam / vyhľadať záznamy.
|
||||
@ -320,7 +308,6 @@ read a single entry by passing the id and fieldlist. addressbook sk Načítaj z
|
||||
read only addressbook sk iba na čítanie
|
||||
record access addressbook sk Prístup k záznamu
|
||||
record owner addressbook sk Vlastník záznamu
|
||||
region addressbook sk Región
|
||||
remove selected contacts from distribution list addressbook sk Odstrániť vybrané kontakty z distribučného zoznamu
|
||||
removed from distribution list addressbook sk Odstránené z distribučného zoznamu
|
||||
repetition addressbook sk Opakovanie
|
||||
@ -334,7 +321,6 @@ select a view addressbook sk Vyberte pohľad
|
||||
select addressbook type addressbook sk Vyberte typ Adresára
|
||||
select all addressbook sk Označiť všetko
|
||||
select an action or addressbook to move to addressbook sk Vyberte akciu alebo Adresár kam sa presunúť
|
||||
select an action or addressbook to move to... addressbook sk Vyberte akciu alebo adresár, do ktorého sa má presúvať...
|
||||
select migration type admin sk Vyberte typ migrácie
|
||||
select multiple contacts for a further action addressbook sk Vybrať viacero kontaktov pre vykonanie nejakej akcie
|
||||
select phone number as prefered way of contact addressbook sk vybrať číslo telefónu ako preferovaný spôsob komunikácie
|
||||
@ -342,7 +328,6 @@ select the type of conversion addressbook sk Vyberte typ prevodu
|
||||
select the type of conversion: addressbook sk Vyberte typ prevodu:
|
||||
select where you want to store / retrieve contacts admin sk Vyberte, kde chcete ukladať / získavať kontakty
|
||||
selected contacts addressbook sk vybrané kontakty
|
||||
seperator addressbook sk Oddeľovač
|
||||
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 birthday reminders on main screen addressbook sk Pripomínať narodeniny na hlavnej stránke
|
||||
@ -400,7 +385,7 @@ 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.
|
||||
which charset should be used for the csv export. the system default is the charset of this egroupware installation. addressbook sk Ktorú znakovú sadu používať pri exporte do CSV. Predvolená je tá, ktorá je používaná ako znaková sada v tejto inštalácii 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 sk Ktoré položky sa majú exportovať. "Všetko" znamená každé pole uložené v Adresári, vrátane používateľských položiek. Pracovná alebo domáca adresa obsahuje iba meno, firmu a vybrané adresy.
|
||||
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 sk Ktoré položky sa majú exportovať. "Všetky" znamená každé pole uložené v Adresári, vrátane používateľských položiek. Pracovná alebo domáca adresa obsahuje iba meno, firmu a vybrané adresy.
|
||||
whole query addressbook sk Celý dopyt
|
||||
work email if given, else home email addressbook sk Práca - E-mail, ak je zadaný. Ináč Domov - E-mail
|
||||
work phone addressbook sk Telefón do zamestnania
|
@ -22,7 +22,7 @@ add a single entry by passing the fields. addressbook sl Dodaj zapis z vnosom p
|
||||
add business email of whole distribution list? addressbook sl Dodam službeni e-naslov celotnega distribucijskega seznama?
|
||||
add custom field addressbook sl Dodaj polje
|
||||
add emails of whole distribution list? addressbook sl Dodam naslove celega distribucijskega seznama?
|
||||
add or delete categories addressbook sl Dodaj ali izbriši kategorije
|
||||
add or delete categoies addressbook sl Dodaj ali izbriši kategorije
|
||||
add to distribution list: addressbook sl Dodaj v distribucijski seznam:
|
||||
added addressbook sl Dodano
|
||||
added by synchronisation addressbook sl Dodano s sinhronizacijo
|
File diff suppressed because one or more lines are too long
@ -24,10 +24,8 @@ $setup_info['addressbook']['description'] =
|
||||
Addressbook is the eGroupWare default contact application. <br />
|
||||
It stores contact information via SQL or LDAP and provides contact services via the eGroupWare API.';
|
||||
|
||||
$setup_info['addressbook']['maintainer'] = array(
|
||||
'name' => 'Ralf Becker',
|
||||
'email' => 'ralfbecker@outdoor-training.de'
|
||||
);
|
||||
$setup_info['addressbook']['maintainer'] = 'eGroupWare coreteam';
|
||||
$setup_info['addressbook']['maintainer_email'] = 'egroupware-developers@lists.sourceforge.net';
|
||||
|
||||
$setup_info['addressbook']['tables'] = array(); // addressbook tables are in the API!
|
||||
|
||||
@ -43,7 +41,6 @@ $setup_info['addressbook']['hooks']['calendar_resources'] = 'addressbook_hooks::
|
||||
$setup_info['addressbook']['hooks']['edit_user'] = 'addressbook_hooks::edit_user';
|
||||
$setup_info['addressbook']['hooks'][] = 'config';
|
||||
$setup_info['addressbook']['hooks']['group_acl'] = 'addressbook_hooks::group_acl';
|
||||
$setup_info['addressbook']['hooks']['not_enum_group_acls'] = 'addressbook_hooks::not_enum_group_acls';
|
||||
|
||||
/* Dependencies for this app to work */
|
||||
$setup_info['addressbook']['depends'][] = array(
|
||||
@ -64,9 +61,5 @@ $setup_info['projectmanager']['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.",
|
||||
),
|
||||
'zip' => array(
|
||||
'func' => 'extension_check',
|
||||
'warning' => lang('The zip extension is needed, to insert contact data in OpenOffice or MSOffice documents.'),
|
||||
),
|
||||
);
|
||||
|
||||
|
@ -107,11 +107,6 @@ class module_addressbook_contactform extends sitemgr_module
|
||||
'params' => array('size' => 40),
|
||||
'default' => 'addressbook.contactform',
|
||||
),
|
||||
'arg7' => array(
|
||||
'type' => 'checkbox',
|
||||
'label' => lang('Send emailcopy to receiver'),
|
||||
'params' => array('size' => 1),
|
||||
),
|
||||
);
|
||||
return parent::get_user_interface();
|
||||
}
|
||||
|
@ -10,10 +10,8 @@
|
||||
width: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
.photo img, .iphoto img {
|
||||
width: 60px;
|
||||
}
|
||||
.photo img {
|
||||
width: 60px;
|
||||
cursor: hand;
|
||||
}
|
||||
.uploadphoto{
|
||||
@ -79,7 +77,4 @@ fieldset.emailGroup {
|
||||
.customfields td{
|
||||
white-space: nowrap;
|
||||
line-height: 12px;
|
||||
}
|
||||
.image16 img {
|
||||
height: 16px;
|
||||
}
|
@ -14,7 +14,7 @@
|
||||
<td colspan="2"> <b>{lang_Telephony_integration}</b></td>
|
||||
</tr>
|
||||
<tr class="row_on">
|
||||
<td width="60%"> {lang_URL_to_link_telephone_numbers_to_(use_%1_=_number_to_call,_%u_=_account_name,_%t_=_account_phone)}:</td>
|
||||
<td> {lang_URL_to_link_telephone_numbers_to_(use_%1_=_number_to_call,_%u_=_account_name,_%t_=_account_phone)}:</td>
|
||||
<td><input name="newsettings[call_link]" value="{value_call_link}" size="40"></td>
|
||||
</tr>
|
||||
<tr class="row_off">
|
||||
@ -67,34 +67,6 @@
|
||||
{lang_(empty_=_use_global_limit,_no_=_no_export_at_all)}:</td>
|
||||
<td><input name="newsettings[contact_export_limit]" value="{value_contact_export_limit}" size="5"></td>
|
||||
</tr>
|
||||
<tr class="th">
|
||||
<td colspan="2"> <b>{lang_History_logging}</b></td>
|
||||
</tr>
|
||||
<tr class="row_on">
|
||||
<td> {lang_Prevent_deleting_of_contacts}</td>
|
||||
<td>
|
||||
<select name="newsettings[history]">
|
||||
<option value="">{lang_No}</option>
|
||||
<option value="history"{selected_history_history}>{lang_Yes,_only_admins_can_purge_deleted_items}</option>
|
||||
</select>
|
||||
</td>
|
||||
<tr class="th">
|
||||
<td colspan="2"> <b>{lang_Contact_maintenance}</b></td>
|
||||
</tr>
|
||||
<tr class="row_on">
|
||||
<td> {lang_Set_full_name_and_file_as_field_in_contacts_of_all_users_(either_all_or_only_empty_values)}:</td>
|
||||
<td>
|
||||
{hook_select_fileas}
|
||||
<input type="button" onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_fileas&all=1&type='+this.form.fileas.value;" value="{lang_All}" />
|
||||
<input type="button" onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_fileas&type='+this.form.fileas.value;" value="{lang_Empty}" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row_on">
|
||||
<td> {lang_Cleanup_addressbook_fields_(apply_if_synchronization_creates_duplicates)}:</td>
|
||||
<td>
|
||||
<input type="button" onclick="document.location.href='index.php?menuaction=addressbook.addressbook_ui.admin_set_all_cleanup'" value="{lang_Start}" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="th">
|
||||
<td colspan="2"> <b>{lang_Contact_repository}</b></td>
|
||||
</tr>
|
||||
|
@ -1,17 +1,17 @@
|
||||
|
||||
<br><center>
|
||||
|
||||
<form {enctype} action="{action_url}" method="post">
|
||||
<table>
|
||||
<FORM {enctype} action="{action_url}" method="post">
|
||||
<TABLE>
|
||||
|
||||
<!-- BEGIN filename -->
|
||||
<tr>
|
||||
<td>{lang_csvfile}</td>
|
||||
<td><input NAME="csvfile" SIZE=30 TYPE="file" VALUE="{csvfile}" /></td>
|
||||
<TR>
|
||||
<TD>{lang_csvfile}</td>
|
||||
<td><INPUT NAME="csvfile" SIZE=30 TYPE="file" VALUE="{csvfile}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{lang_fieldsep}</td>
|
||||
<td><input name="fieldsep" size=1 value="{fieldsep}" /></td>
|
||||
<td><input name="fieldsep" size=1 value="{fieldsep}"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{lang_charset}</td>
|
||||
@ -20,8 +20,8 @@
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td> </td>
|
||||
<td><input NAME="convert" TYPE="submit" VALUE="{submit}" /></TD>
|
||||
</tr>
|
||||
<td><INPUT NAME="convert" TYPE="submit" VALUE="{submit}"></TD>
|
||||
</TR>
|
||||
<!-- END filename -->
|
||||
|
||||
<!-- BEGIN fheader -->
|
||||
@ -35,25 +35,21 @@
|
||||
<!-- BEGIN fields -->
|
||||
<tr>
|
||||
<td>{csv_field}</td>
|
||||
<td><select name="addr_fields[{csv_idx}]">{addr_fields}</select></td>
|
||||
<td><input name="trans[{csv_idx}]" size=60 value="{trans}" /></td>
|
||||
<td><SELECT name="addr_fields[{csv_idx}]">{addr_fields}</select></td>
|
||||
<td><input name="trans[{csv_idx}]" size=60 value="{trans}"></td>
|
||||
</tr>
|
||||
<!-- END fields -->
|
||||
|
||||
<!-- BEGIN ffooter -->
|
||||
<tr>
|
||||
<td>{lang_unique_id}</td>
|
||||
<td colspan="2">{unique_id}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="2" valign="middle"><br>{submit}</TD>
|
||||
<td colspan="2"><br>
|
||||
{lang_start} <input name="start" type="text" size="5" value="{start}" />
|
||||
{lang_max} <input name="max" type="text" size="3" value="{max}" /><td>
|
||||
{lang_start} <INPUT name="start" type="text" size="5" value="{start}">
|
||||
{lang_max} <INPUT name="max" type="text" size="3" value="{max}"><td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3"><input name="debug" type="checkbox" value="1" {debug}> {lang_debug}</td>
|
||||
</tr>
|
||||
<td colspan="3"><INPUT name="debug" type="checkbox" value="1" {debug}> {lang_debug}</td>
|
||||
</TR>
|
||||
<tr><td colspan="3"> <p>
|
||||
{help_on_trans}
|
||||
</td></tr>
|
||||
@ -65,11 +61,11 @@
|
||||
{log}<p>
|
||||
{anz_imported}
|
||||
</td>
|
||||
</tr>
|
||||
</TR>
|
||||
<!-- END imported -->
|
||||
|
||||
</table>
|
||||
</TABLE>
|
||||
{hiddenvars}
|
||||
</form>
|
||||
|
||||
</center>
|
||||
</CENTER>
|
||||
|
@ -467,7 +467,7 @@
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
<template id="addressbook.edit" template="" lang="" group="0" version="1.7.001">
|
||||
<template id="addressbook.edit" template="" lang="" group="0" version="1.5.006">
|
||||
<grid>
|
||||
<columns>
|
||||
<column width="450"/>
|
||||
@ -498,7 +498,7 @@
|
||||
</grid>
|
||||
</row>
|
||||
<row valign="top">
|
||||
<tabbox id="tabs">
|
||||
<tabbox>
|
||||
<tabs>
|
||||
<tab label="General" statustext="Name, Address"/>
|
||||
<tab label="Categories" statustext="Categories"/>
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 295 B |
@ -14,7 +14,7 @@
|
||||
</hbox>
|
||||
<styles>.rightPadAdd { width: 30px; }</styles>
|
||||
</template>
|
||||
<template id="addressbook.index.rows" template="" lang="" group="0" version="1.7.002">
|
||||
<template id="addressbook.index.rows" template="" lang="" group="0" version="1.5.007">
|
||||
<grid width="100%">
|
||||
<columns>
|
||||
<column/>
|
||||
@ -23,7 +23,6 @@
|
||||
<column/>
|
||||
<column width="60" disabled="@no_photo"/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column disabled="@no_home"/>
|
||||
<column/>
|
||||
<column/>
|
||||
@ -31,7 +30,7 @@
|
||||
<column disabled="@no_distribution_list"/>
|
||||
<column/>
|
||||
<column/>
|
||||
<column width="75"/>
|
||||
<column width="90"/>
|
||||
</columns>
|
||||
<rows>
|
||||
<row class="th">
|
||||
@ -68,7 +67,6 @@
|
||||
<nextmatch-header label="role" id="role"/>
|
||||
<nextmatch-header label="Category" id="cat_id"/>
|
||||
<nextmatch-header label="Photo" id="photo"/>
|
||||
<nextmatch-header id="bday" label="Birthday"/>
|
||||
<vbox options="0,0">
|
||||
<nextmatch-header label="Business address" id="business"/>
|
||||
<nextmatch-customfilter id="adr_one_countryname" options="select-country,Country,1" class="countrySelect"/>
|
||||
@ -114,8 +112,7 @@
|
||||
<menulist>
|
||||
<menupopup type="select-cat" options="1" id="${row}[cat_id]" readonly="true"/>
|
||||
</menulist>
|
||||
<image src="${row}[photo]" class="iphoto"/>
|
||||
<date id="${row}[bday]" readonly="true" options="Y-m-d"/>
|
||||
<image src="${row}[photo]"/>
|
||||
<vbox options="0,0">
|
||||
<description id="${row}[adr_one_countryname]" no_lang="1"/>
|
||||
<hbox options="0,0" orient="0">
|
||||
@ -164,23 +161,18 @@
|
||||
<menupopup type="select-account" id="${row}[modifier]" readonly="true"/>
|
||||
</menulist>
|
||||
</vbox>
|
||||
<vbox options="0,0" class="noPrint">
|
||||
<hbox options="0">
|
||||
<image options="addressbook.addressbook_ui.view&contact_id=$row_cont[id]" label="View" src="view"/>
|
||||
<button image="edit" label="Edit" onclick="window.open(egw::link('/index.php','menuaction=addressbook.addressbook_ui.edit&contact_id=$row_cont[id]'),'_blank','dependent=yes,width=850,height=460,scrollbars=yes,status=yes'); return false;" id="edit[$row_cont[id]]"/>
|
||||
<button id="delete[$row_cont[id]]" image="delete" label="Delete" statustext="Delete this contact" onclick="return confirm('Delete this contact');"/>
|
||||
<checkbox id="checked[]" options="$row_cont[id]" statustext="Select multiple contacts for a further action" align="right"/>
|
||||
</hbox>
|
||||
<hbox options="0">
|
||||
<button id="document[$row_cont[id]]" image="new" label="Insert in document"/>
|
||||
<image src="filemanager/navbar" options="/index.php?menuaction=filemanager.filemanager_ui.index&path=/apps/addressbook/$row_cont[id]" class="image16" label="Filemanager"/>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<hbox options="0" class="noPrint" orient="0">
|
||||
<button id="document[$row_cont[id]]" image="new" label="Insert in document"/>
|
||||
<image options="addressbook.addressbook_ui.view&contact_id=$row_cont[id]" label="View" src="view"/>
|
||||
<button image="edit" label="Edit" onclick="window.open(egw::link('/index.php','menuaction=addressbook.addressbook_ui.edit&contact_id=$row_cont[id]'),'_blank','dependent=yes,width=850,height=460,scrollbars=yes,status=yes'); return false;" id="edit[$row_cont[id]]"/>
|
||||
<button id="delete[$row_cont[id]]" image="delete" label="Delete" statustext="Delete this contact" onclick="return confirm('Delete this contact');"/>
|
||||
<checkbox id="checked[]" options="$row_cont[id]" statustext="Select multiple contacts for a further action" align="right"/>
|
||||
</hbox>
|
||||
</row>
|
||||
</rows>
|
||||
</grid>
|
||||
</template>
|
||||
<template id="addressbook.index" template="" lang="" group="0" version="1.7.001">
|
||||
<template id="addressbook.index" template="" lang="" group="0" version="1.5.002">
|
||||
<grid width="100%">
|
||||
<columns>
|
||||
<column/>
|
||||
|
@ -190,8 +190,8 @@ function usage($action=null,$ret=0)
|
||||
$cmd = basename($_SERVER['argv'][0]);
|
||||
echo "Usage: $cmd --command admin-account[@domain],admin-password,options,... [--schedule {YYYY-mm-dd|+1 week|+5 days}] [--requested 'Name <email>'] [--comment 'comment ...'] [--remote {id|name}] [--skip-checks]\n\n";
|
||||
|
||||
echo "--edit-user admin-account[@domain],admin-password,account[=new-account-name],first-name,last-name,password,email,expires{never(default)|YYYY-MM-DD|already},can-change-pw{yes(default)|no},anon-user{yes|no(default)},primary-group{Default(default)|...}[,groups,...][,homedirectory,loginshell]\n";
|
||||
echo " Edit or add a user to eGroupWare. If you specify groups, they *replace* the exiting memberships! homedirectory+loginshell are supported only for LDAP and must start with a slash!\n";
|
||||
echo "--edit-user admin-account[@domain],admin-password,account[=new-account-name],first-name,last-name,password,email,expires{never(default)|YYYY-MM-DD|already},can-change-pw{yes(default)|no},anon-user{yes|no(default)},primary-group{Default(default)|...}[,groups,...]\n";
|
||||
echo " Edit or add a user to eGroupWare. If you specify groups, they *replace* the exiting memberships!\n";
|
||||
echo "--change-pw admin-account[@domain],admin-password,account,password\n";
|
||||
echo " Change/set the password for a given user\n";
|
||||
echo "--delete-user admin-account[@domain],admin-password,account-to-delete[,account-to-move-data]\n";
|
||||
@ -279,7 +279,7 @@ function do_change_pw($args)
|
||||
/**
|
||||
* Edit or add a user to eGroupWare. If you specify groups, they *replace* the exiting memberships!
|
||||
* 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12
|
||||
* @param array $args admin-account[@domain],admin-password,account[=new-account-name],first-name,last-name,password,email,expires{never(default)|YYYY-MM-DD|already},can-change-pw{true(default)|false},anon-user{true|false(default)},primary-group{Default(default)|...}[,groups,...][,homedirectory,loginshell]
|
||||
* @param array $args admin-account[@domain],admin-password,account[=new-account-name],first-name,last-name,password,email,expires{never(default)|YYYY-MM-DD|already},can-change-pw{true(default)|false},anon-user{true|false(default)},primary-group{Default(default)|...}[,groups,...]
|
||||
*/
|
||||
function do_edit_user($args)
|
||||
{
|
||||
@ -287,17 +287,7 @@ function do_edit_user($args)
|
||||
array_shift($args); // admin-pw
|
||||
list($account,$new_account_name) = explode('=',array_shift($args)); // account[=new-account-name]
|
||||
|
||||
$data = array();
|
||||
// do we need to support ldap only attributes: homedirectory and loginshell
|
||||
if (($GLOBALS['egw_info']['server']['account_repository'] == 'ldap' ||
|
||||
empty($GLOBALS['egw_info']['server']['account_repository']) && $GLOBALS['egw_info']['server']['auth_type'] == 'ldap') &&
|
||||
$GLOBALS['egw_info']['server']['ldap_extra_attributes'] && count($args) > 9 && // 9 = primary group
|
||||
($last_arg = array_pop($dummy=$args)) && $last_arg[0] == '/') // last argument start with a slash
|
||||
{
|
||||
$data['loginshell'] = array_pop($args);
|
||||
$data['homedirectory'] = array_pop($args);
|
||||
}
|
||||
$data += array(
|
||||
$data = array(
|
||||
'account_lid' => $new_account_name,
|
||||
'account_firstname' => array_shift($args),
|
||||
'account_lastname' => array_shift($args),
|
||||
|
@ -1,152 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* eGgroupWare admin - accesslog
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @package admin
|
||||
* @copyright (c) 2009 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* Show eGroupware access log
|
||||
*/
|
||||
class admin_accesslog
|
||||
{
|
||||
/**
|
||||
* Which methods of this class can be called as menuation
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $public_functions = array(
|
||||
'index' => true,
|
||||
);
|
||||
|
||||
/**
|
||||
* Our storage object
|
||||
*
|
||||
* @var so_sql
|
||||
*/
|
||||
protected $so;
|
||||
|
||||
/**
|
||||
* Name of our table
|
||||
*/
|
||||
const TABLE = 'egw_access_log';
|
||||
/**
|
||||
* Name of app the table is registered
|
||||
*/
|
||||
const APP = 'phpgwapi';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
*/
|
||||
function __construct()
|
||||
{
|
||||
if ($GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php');
|
||||
}
|
||||
$this->so = new so_sql(self::APP,self::TABLE,null,'',true);
|
||||
}
|
||||
|
||||
/**
|
||||
* query rows for the nextmatch widget
|
||||
*
|
||||
* @param array $query with keys 'start', 'search', 'order', 'sort', 'col_filter'
|
||||
* @param array &$rows returned rows/competitions
|
||||
* @param array &$readonlys eg. to disable buttons based on acl, not use here, maybe in a derived class
|
||||
* @return int total number of rows
|
||||
*/
|
||||
function get_rows($query,&$rows,&$readonlys)
|
||||
{
|
||||
$total = $this->so->get_rows($query,$rows,$readonlys);
|
||||
|
||||
foreach($rows as &$row)
|
||||
{
|
||||
$row['sessionstatus'] = lang('success');
|
||||
if (stripos($row['sessionid'],'blocked') !== False || stripos($row['sessionid'],'bad login') !== False)
|
||||
{
|
||||
$row['sessionstatus'] = $row['sessionid'];
|
||||
}
|
||||
if ($row['lo']) {
|
||||
$row['total'] = ($row['lo'] - $row['li']) / 60;
|
||||
$row['sessionstatus'] = lang('logged out');
|
||||
}
|
||||
}
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Admin').' - '.lang('View Access Log').
|
||||
($query['col_filter']['account_id'] ? ': '.common::grab_owner_name($query['col_filter']['account_id']) : '');
|
||||
|
||||
return $total;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the accesslog
|
||||
*
|
||||
* @param array $content
|
||||
*/
|
||||
function index(array $content=null)
|
||||
{
|
||||
//_debug_array($content);
|
||||
|
||||
if(!isset($content))
|
||||
{
|
||||
$content['nm'] = array(
|
||||
'get_rows' => 'admin.admin_accesslog.get_rows', // I method/callback to request the data for the rows eg. 'notes.bo.get_rows'
|
||||
'no_filter' => True, // I disable the 1. filter
|
||||
'no_filter2' => True, // I disable the 2. filter (params are the same as for filter)
|
||||
'no_cat' => True, // I disable the cat-selectbox
|
||||
'header_left' => false, // I template to show left of the range-value, left-aligned (optional)
|
||||
'header_right' => false, // I template to show right of the range-value, right-aligned (optional)
|
||||
'never_hide' => True, // I never hide the nextmatch-line if less then maxmatch entries
|
||||
'lettersearch' => false, // I show a lettersearch
|
||||
'start' => 0, // IO position in list
|
||||
'order' => 'li', // IO name of the column to sort after (optional for the sortheaders)
|
||||
'sort' => 'DESC', // IO direction of the sort: 'ASC' or 'DESC'
|
||||
//'default_cols' => // I columns to use if there's no user or default pref (! as first char uses all but the named columns), default all columns
|
||||
'csv_fields' => false, // I false=disable csv export, true or unset=enable it with auto-detected fieldnames,
|
||||
//or array with name=>label or name=>array('label'=>label,'type'=>type) pairs (type is a eT widget-type)
|
||||
);
|
||||
if ((int)$_GET['account_id'])
|
||||
{
|
||||
$content['nm']['col_filter']['account_id'] = (int)$_GET['account_id'];
|
||||
}
|
||||
}
|
||||
elseif(isset($content['nm']['rows']['delete']))
|
||||
{
|
||||
list($sessionid) = each($content['nm']['rows']['delete']);
|
||||
unset($content['nm']['rows']['delete']);
|
||||
if ($sessionid && $this->so->delete(array('sessionid' => $sessionid)))
|
||||
{
|
||||
$content['msg'] = lang('%1 log entries deleted.',1);
|
||||
}
|
||||
else
|
||||
{
|
||||
$content['msg'] = lang('Error deleting log entry!');
|
||||
}
|
||||
}
|
||||
elseif(isset($content['delete']))
|
||||
{
|
||||
unset($content['delete']);
|
||||
if (($deleted = $this->so->delete(array('sessionid' => $content['nm']['rows']['selected']))))
|
||||
{
|
||||
$content['msg'] = lang('%1 log entries deleted.',$deleted);
|
||||
}
|
||||
else
|
||||
{
|
||||
$content['msg'] = lang('Error deleting log entry!');
|
||||
}
|
||||
}
|
||||
$content['percent'] = 100.0 * $GLOBALS['egw']->db->query(
|
||||
'SELECT ((SELECT COUNT(*) FROM '.self::TABLE.' WHERE lo != 0) / COUNT(*)) FROM '.self::TABLE,
|
||||
__LINE__,__FILE__)->fetchColumn();
|
||||
|
||||
$tmpl = new etemplate('admin.accesslog');
|
||||
$tmpl->exec('admin.admin_accesslog.index',$content,$sel_options,$readonlys,array(
|
||||
'nm' => $content['nm'],
|
||||
));
|
||||
}
|
||||
}
|
@ -1,347 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* EGgroupware admin - Edit global categories
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @package admin
|
||||
* @copyright (c) 2010 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* Edit global categories
|
||||
*/
|
||||
class admin_categories
|
||||
{
|
||||
/**
|
||||
* Which methods of this class can be called as menuaction
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
public $public_functions = array(
|
||||
'index' => true,
|
||||
'edit' => true,
|
||||
);
|
||||
|
||||
/**
|
||||
* Path where the icons are stored (relative to webserver_url)
|
||||
*/
|
||||
const ICON_PATH = '/phpgwapi/images';
|
||||
|
||||
/**
|
||||
* Stupid old admin ACL - dont think anybody uses or understands it ;-)
|
||||
*
|
||||
* @var boolean
|
||||
*/
|
||||
private static $acl_search;
|
||||
private static $acl_add;
|
||||
private static $acl_view;
|
||||
private static $acl_edit;
|
||||
private static $acl_delete;
|
||||
private static $acl_add_sub;
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
function __construct()
|
||||
{
|
||||
if (!isset($GLOBALS['egw_info']['user']['apps']['admin']))
|
||||
{
|
||||
throw new egw_exception_no_permission_admin();
|
||||
}
|
||||
if ($GLOBALS['egw']->acl->check('global_categories_access',1,'admin'))
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php');
|
||||
}
|
||||
self::init_static();
|
||||
}
|
||||
|
||||
/**
|
||||
* Init static vars (static constructor)
|
||||
*/
|
||||
public static function init_static()
|
||||
{
|
||||
if (is_null(self::$acl_search))
|
||||
{
|
||||
self::$acl_search = !$GLOBALS['egw']->acl->check('global_categories_access',2,'admin');
|
||||
self::$acl_add = !$GLOBALS['egw']->acl->check('global_categories_access',4,'admin');
|
||||
self::$acl_view = !$GLOBALS['egw']->acl->check('global_categories_access',8,'admin');
|
||||
self::$acl_edit = !$GLOBALS['egw']->acl->check('global_categories_access',16,'admin');
|
||||
self::$acl_delete = !$GLOBALS['egw']->acl->check('global_categories_access',32,'admin');
|
||||
self::$acl_add_sub= !$GLOBALS['egw']->acl->check('global_categories_access',64,'admin');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Edit / add a category
|
||||
*
|
||||
* @param array $content=null
|
||||
* @param string $msg=''
|
||||
*/
|
||||
public function edit(array $content=null,$msg='')
|
||||
{
|
||||
// read the session, as the global_cats param is stored with it.
|
||||
$session = egw_cache::getSession(__CLASS__,'nm');
|
||||
$global_cats = $session['global_cats'];
|
||||
unset($session);
|
||||
if (!isset($content))
|
||||
{
|
||||
if (!(isset($_GET['cat_id']) && $_GET['cat_id'] > 0 &&
|
||||
($content = categories::read($_GET['cat_id']))))
|
||||
{
|
||||
$content = array('data' => array());
|
||||
if(isset($_GET['parent']) && $_GET['parent'] > 0)
|
||||
{
|
||||
$content['parent'] = (int)$_GET['parent'];
|
||||
}
|
||||
if (isset($_GET['appname']) && isset($GLOBALS['egw_info']['apps'][$_GET['appname']]))
|
||||
{
|
||||
$content['appname'] = $_GET['appname'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$content['appname'] = categories::GLOBAL_APPNAME;
|
||||
}
|
||||
}
|
||||
elseif (!self::$acl_edit)
|
||||
{
|
||||
// only allow to view category
|
||||
$readonlys['__ALL__'] = true;
|
||||
$readonlys['button[cancel]'] = false;
|
||||
}
|
||||
$content['base_url'] = self::icon_url();
|
||||
$content['icon_url'] = $content['base_url'] . $content['data']['icon'];
|
||||
}
|
||||
elseif ($content['button'] || $content['delete'])
|
||||
{
|
||||
$cats = new categories($content['owner'] ? $content['owner'] : categories::GLOBAL_ACCOUNT,$content['appname']);
|
||||
|
||||
if ($content['delete']['delete'])
|
||||
{
|
||||
$button = 'delete';
|
||||
$delete_subs = $content['delete']['subs'];
|
||||
}
|
||||
else
|
||||
{
|
||||
list($button) = each($content['button']);
|
||||
unset($content['button']);
|
||||
}
|
||||
unset($content['delete']);
|
||||
|
||||
switch($button)
|
||||
{
|
||||
case 'save':
|
||||
case 'apply':
|
||||
if ($content['id'] && self::$acl_edit)
|
||||
{
|
||||
$cats->edit($content);
|
||||
$msg = lang('Category saved.');
|
||||
}
|
||||
elseif (!$content['id'] && (
|
||||
$content['parent'] && self::$acl_add_sub ||
|
||||
!$content['parent'] && self::$acl_add))
|
||||
{
|
||||
$content['id'] = $cats->add($content);
|
||||
$msg = lang('Category saved.');
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = lang('Permission denied!');
|
||||
unset($button);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'delete':
|
||||
if (self::$acl_delete)
|
||||
{
|
||||
$cats->delete($content['id'],$delete_subs,!$delete_subs);
|
||||
$msg = lang('Category deleted.');
|
||||
}
|
||||
else
|
||||
{
|
||||
$msg = lang('Permission denied!');
|
||||
unset($button);
|
||||
}
|
||||
break;
|
||||
}
|
||||
$link = egw::link('/index.php',array(
|
||||
'menuaction' => 'admin.admin_categories.index',
|
||||
'msg' => $msg,
|
||||
'global_cats' => (empty($global_cats)? false : true),
|
||||
));
|
||||
$js = "window.opener.location='$link';";
|
||||
if ($button == 'save' || $button == 'delete')
|
||||
{
|
||||
echo "<html><head><script>\n$js;\nwindow.close();\n</script></head></html>\n";
|
||||
common::egw_exit();
|
||||
}
|
||||
if (!empty($js)) $GLOBALS['egw']->js->set_onload($js);
|
||||
}
|
||||
$content['msg'] = $msg;
|
||||
$sel_options['icon'] = self::get_icons();
|
||||
|
||||
$readonlys['button[delete]'] = !$content['id'] || !self::$acl_delete; // cant delete not yet saved category
|
||||
$readonlys['owner'] = $content['id'] > 0;
|
||||
|
||||
$tmpl = new etemplate('admin.categories.edit');
|
||||
$tmpl->exec('admin.admin_categories.edit',$content,$sel_options,$readonlys,$content+array(
|
||||
'old_parent' => $content['old_parent'] ? $content['old_parent'] : $content['parent'],
|
||||
),2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return URL of an icon, or base url with trailing slash
|
||||
*
|
||||
* @param string $icon='' filename
|
||||
* @return string url
|
||||
*/
|
||||
static function icon_url($icon='')
|
||||
{
|
||||
return $GLOBALS['egw_info']['server']['webserver_url'].self::ICON_PATH.'/'.$icon;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return icons from /phpgwapi/images
|
||||
*
|
||||
* @return array filename => label
|
||||
*/
|
||||
static function get_icons()
|
||||
{
|
||||
$dir = dir(EGW_SERVER_ROOT.self::ICON_PATH);
|
||||
$icons = array();
|
||||
while(($file = $dir->read()))
|
||||
{
|
||||
if (preg_match('/^(.*)\\.(png|gif|jpe?g)$/i',$file,$matches))
|
||||
{
|
||||
$icons[$file] = ucfirst($matches[1]);
|
||||
}
|
||||
}
|
||||
$dir->close();
|
||||
asort($icons);
|
||||
|
||||
return $icons;
|
||||
}
|
||||
|
||||
/**
|
||||
* query rows for the nextmatch widget
|
||||
*
|
||||
* @param array $query with keys 'start', 'search', 'order', 'sort', 'col_filter'
|
||||
* @param array &$rows returned rows/competitions
|
||||
* @param array &$readonlys eg. to disable buttons based on acl, not use here, maybe in a derived class
|
||||
* @return int total number of rows
|
||||
*/
|
||||
static function get_rows($query,&$rows,&$readonlys)
|
||||
{
|
||||
self::init_static();
|
||||
|
||||
if (!isset($query['appname']))
|
||||
{
|
||||
throw new egw_exception_assertion_failed(__METHOD__.'($query,...) $query[appname] NOT set!');
|
||||
}
|
||||
$globalcat = true;
|
||||
if (isset($query['global_cats']) && $query['global_cats']===false)
|
||||
{
|
||||
$globalcat = false;
|
||||
}
|
||||
egw_cache::setSession(__CLASS__,'nm',$query);
|
||||
|
||||
$cats = new categories(categories::GLOBAL_ACCOUNT,$query['appname']);
|
||||
$rows = $cats->return_sorted_array($query['start'],$query['num_rows'],$query['search'],$query['sort'],$query['order'],$globalcat,0,true);
|
||||
|
||||
foreach($rows as &$row)
|
||||
{
|
||||
$row['level_spacer'] = str_repeat(' ',$row['level']);
|
||||
|
||||
if ($row['data']['icon']) $row['icon_url'] = self::icon_url($row['data']['icon']);
|
||||
|
||||
$row['subs'] = count($row['children']);
|
||||
|
||||
$row['class'] = 'level'.$row['level'];
|
||||
|
||||
$readonlys["edit[$row[id]]"] = !self::$acl_edit;
|
||||
$readonlys["add[$row[id]]"] = !self::$acl_add_sub;
|
||||
$readonlys["delete[$row[id]]"] = !self::$acl_delete;
|
||||
}
|
||||
// make appname available for actions
|
||||
$rows['appname'] = $query['appname'];
|
||||
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Admin').' - '.lang('Global categories').
|
||||
($query['appname'] != categories::GLOBAL_APPNAME ? ': '.lang($query['appname']) : '');
|
||||
|
||||
return $cats->total_records;
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the accesslog
|
||||
*
|
||||
* @param array $content=null
|
||||
* @param string $msg=''
|
||||
*/
|
||||
public function index(array $content=null,$msg='')
|
||||
{
|
||||
//_debug_array($_GET);
|
||||
|
||||
if(!isset($content))
|
||||
{
|
||||
if (isset($_GET['msg'])) $msg = $_GET['msg'];
|
||||
|
||||
$content['nm'] = egw_cache::getSession(__CLASS__,'nm');
|
||||
if (!is_array($content['nm']))
|
||||
{
|
||||
$content['nm'] = array(
|
||||
'get_rows' => 'admin_categories::get_rows', // I method/callback to request the data for the rows eg. 'notes.bo.get_rows'
|
||||
'no_filter' => True, // I disable the 1. filter
|
||||
'no_filter2' => True, // I disable the 2. filter (params are the same as for filter)
|
||||
'no_cat' => True, // I disable the cat-selectbox
|
||||
'header_left' => false, // I template to show left of the range-value, left-aligned (optional)
|
||||
'header_right' => false, // I template to show right of the range-value, right-aligned (optional)
|
||||
'never_hide' => True, // I never hide the nextmatch-line if less then maxmatch entries
|
||||
'lettersearch' => false, // I show a lettersearch
|
||||
'start' => 0, // IO position in list
|
||||
'order' => 'name', // IO name of the column to sort after (optional for the sortheaders)
|
||||
'sort' => 'ASC', // IO direction of the sort: 'ASC' or 'DESC'
|
||||
'default_cols' => '!color,last_mod,subs', // I columns to use if there's no user or default pref (! as first char uses all but the named columns), default all columns
|
||||
'csv_fields' => false, // I false=disable csv export, true or unset=enable it with auto-detected fieldnames,
|
||||
//or array with name=>label or name=>array('label'=>label,'type'=>type) pairs (type is a eT widget-type)
|
||||
'appname' => categories::GLOBAL_APPNAME,
|
||||
'no_search' => !self::$acl_search,
|
||||
);
|
||||
}
|
||||
else
|
||||
{
|
||||
$content['nm']['start']=0;
|
||||
}
|
||||
if (isset($_GET['appname']) && ($_GET['appname'] == categories::GLOBAL_APPNAME ||
|
||||
isset($GLOBALS['egw_info']['apps'][$_GET['appname']])))
|
||||
{
|
||||
$content['nm']['appname'] = $_GET['appname'];
|
||||
}
|
||||
$content['nm']['global_cats'] = true;
|
||||
if (isset($_GET['global_cats']) && empty($_GET['global_cats'] ))
|
||||
{
|
||||
$content['nm']['global_cats'] = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if($content['delete']['delete'])
|
||||
{
|
||||
$cats = new categories(categories::GLOBAL_ACCOUNT,$content['nm']['appname']);
|
||||
$cats->delete($content['delete']['cat_id'],$content['delete']['subs'],!$content['delete']['subs']);
|
||||
$msg = lang('Category deleted.');
|
||||
}
|
||||
unset($content['delete']);
|
||||
}
|
||||
$content['msg'] = $msg;
|
||||
$readonlys['add'] = !self::$acl_add;
|
||||
|
||||
$tmpl = new etemplate('admin.categories.index');
|
||||
$tmpl->exec('admin.admin_categories.index',$content,$sel_options,$readonlys,array(
|
||||
'nm' => $content['nm'],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
||||
admin_categories::init_static();
|
@ -7,7 +7,7 @@
|
||||
* @package admin
|
||||
* @copyright (c) 2007 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -24,7 +24,7 @@ abstract class admin_cmd
|
||||
|
||||
/**
|
||||
* The status of the command, one of either scheduled, successful, failed or deleted
|
||||
*
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $status;
|
||||
@ -61,44 +61,44 @@ abstract class admin_cmd
|
||||
* @var array
|
||||
*/
|
||||
private $data = array();
|
||||
|
||||
|
||||
/**
|
||||
* Instance of the accounts class, after calling instanciate_accounts!
|
||||
*
|
||||
* @var accounts
|
||||
*/
|
||||
static protected $accounts;
|
||||
|
||||
|
||||
/**
|
||||
* Instance of the acl class, after calling instanciate_acl!
|
||||
*
|
||||
* @var acl
|
||||
*/
|
||||
static protected $acl;
|
||||
|
||||
|
||||
/**
|
||||
* Instance of so_sql for egw_admin_queue
|
||||
*
|
||||
* @var so_sql
|
||||
*/
|
||||
static private $sql;
|
||||
|
||||
|
||||
/**
|
||||
* Instance of so_sql for egw_admin_remote
|
||||
*
|
||||
* @var so_sql
|
||||
*/
|
||||
static private $remote;
|
||||
|
||||
|
||||
/**
|
||||
* Executes the command
|
||||
*
|
||||
*
|
||||
* @param boolean $check_only=false only run the checks (and throw the exceptions), but not the command itself
|
||||
* @return string success message
|
||||
* @throws Exception()
|
||||
*/
|
||||
protected abstract function exec($check_only=false);
|
||||
|
||||
|
||||
/**
|
||||
* Return a title / string representation for a given command, eg. to display it
|
||||
*
|
||||
@ -108,7 +108,7 @@ abstract class admin_cmd
|
||||
{
|
||||
return $this->type;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
@ -128,7 +128,7 @@ abstract class admin_cmd
|
||||
}
|
||||
//_debug_array($this); exit;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* runs the command either immediatly ($time=null) or shedules it for the given time
|
||||
*
|
||||
@ -190,18 +190,18 @@ abstract class admin_cmd
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Runs a command on a remote install
|
||||
*
|
||||
*
|
||||
* This is a very basic remote procedure call to an other egw instance.
|
||||
* The payload / command data is send as POST request to the remote installs admin/remote.php script.
|
||||
* The remote domain (eGW instance) and the secret authenticating the request are send as GET parameters.
|
||||
*
|
||||
* To authenticate with the installation we use a secret, which is a md5 hash build from the uid
|
||||
* of the command (to not allow to send new commands with an earsdroped secret) and the md5 hash
|
||||
* To authenticate with the installation we use a secret, which is a md5 hash build from the uid
|
||||
* of the command (to not allow to send new commands with an earsdroped secret) and the md5 hash
|
||||
* of the md5 hash of the config password and the install_id (egw_admin_remote.remote_hash)
|
||||
*
|
||||
*
|
||||
* @return string sussess message
|
||||
* @throws Exception(lang('Invalid remote id or name "%1"!',$id_or_name),997) or other Exceptions reported from remote
|
||||
*/
|
||||
@ -216,7 +216,7 @@ abstract class admin_cmd
|
||||
$this->save(); // to get the uid
|
||||
}
|
||||
$secret = md5($this->uid.$remote['remote_hash']);
|
||||
|
||||
|
||||
$postdata = $this->as_array();
|
||||
if (is_object($GLOBALS['egw']->translation))
|
||||
{
|
||||
@ -241,7 +241,7 @@ abstract class admin_cmd
|
||||
throw new egw_exception(lang('Could not remote execute the command').': '.$http_response_header[0]);
|
||||
}
|
||||
//echo "got: $message\n";
|
||||
|
||||
|
||||
if (($value = unserialize($message)) !== false && $message !== serialize(false))
|
||||
{
|
||||
$message = $value;
|
||||
@ -256,7 +256,7 @@ abstract class admin_cmd
|
||||
}
|
||||
return $message;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Delete / canncels a scheduled command
|
||||
*
|
||||
@ -267,10 +267,10 @@ abstract class admin_cmd
|
||||
if ($this->status != admin_cmd::scheduled) return false;
|
||||
|
||||
$this->status = admin_cmd::deleted;
|
||||
|
||||
|
||||
return $this->save();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Saving the object to the database
|
||||
*
|
||||
@ -280,7 +280,7 @@ abstract class admin_cmd
|
||||
function save($set_modifier=true)
|
||||
{
|
||||
admin_cmd::_instanciate_sql();
|
||||
|
||||
|
||||
// check if uid already exists --> set the id to not try to insert it again (resulting in SQL error)
|
||||
if (!$this->id && $this->uid && (list($other) = self::$sql->search(array('cmd_uid' => $this->uid))))
|
||||
{
|
||||
@ -327,11 +327,11 @@ abstract class admin_cmd
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* reading a command from the queue returning the comand object
|
||||
*
|
||||
* @static
|
||||
* @static
|
||||
* @param int/string $id id or uid of the command
|
||||
* @return admin_cmd or null if record not found
|
||||
* @throws Exception(lang('Unknown command %1!',$class),0);
|
||||
@ -347,11 +347,11 @@ abstract class admin_cmd
|
||||
}
|
||||
return admin_cmd::instanciate($data);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instanciated the object / subclass using the given data
|
||||
*
|
||||
* @static
|
||||
* @static
|
||||
* @param array $data
|
||||
* @return admin_cmd
|
||||
* @throws egw_exception_wrong_parameter if class does not exist or is no instance of admin_cmd
|
||||
@ -367,18 +367,18 @@ abstract class admin_cmd
|
||||
throw new egw_exception_wrong_parameter(lang('Unknown command %1!',$class),0);
|
||||
}
|
||||
$cmd = new $class($data);
|
||||
|
||||
|
||||
if ($cmd instanceof admin_cmd) // dont allow others classes to be executed that way!
|
||||
{
|
||||
return $cmd;
|
||||
}
|
||||
throw new egw_exception_wrong_parameter(lang('%1 is no command!',$class),0);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* calling get_rows of our static so_sql instance
|
||||
*
|
||||
* @static
|
||||
* @static
|
||||
* @param array $query
|
||||
* @param array &$rows
|
||||
* @param array $readonlys
|
||||
@ -398,9 +398,9 @@ abstract class admin_cmd
|
||||
/**
|
||||
* calling search method of our static so_sql instance
|
||||
*
|
||||
* @static
|
||||
* @static
|
||||
* @param array/string $criteria array of key and data cols, OR a SQL query (content for WHERE), fully quoted (!)
|
||||
* @param boolean/string/array $only_keys=true True returns only keys, False returns all cols. or
|
||||
* @param boolean/string/array $only_keys=true True returns only keys, False returns all cols. or
|
||||
* comma seperated list or array of columns to return
|
||||
* @param string $order_by='' fieldnames + {ASC|DESC} separated by colons ',', can also contain a GROUP BY (if it contains ORDER BY)
|
||||
* @param string/array $extra_cols='' string or array of strings to be added to the SELECT, eg. "count(*) as num"
|
||||
@ -421,7 +421,7 @@ abstract class admin_cmd
|
||||
/**
|
||||
* Instanciate our static so_sql object for egw_admin_queue
|
||||
*
|
||||
* @static
|
||||
* @static
|
||||
*/
|
||||
private static function _instanciate_sql()
|
||||
{
|
||||
@ -430,11 +430,11 @@ abstract class admin_cmd
|
||||
admin_cmd::$sql = new so_sql('admin','egw_admin_queue',null,'cmd_');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Instanciate our static so_sql object for egw_admin_remote
|
||||
*
|
||||
* @static
|
||||
* @static
|
||||
*/
|
||||
private static function _instanciate_remote()
|
||||
{
|
||||
@ -443,10 +443,10 @@ abstract class admin_cmd
|
||||
admin_cmd::$remote = new so_sql('admin','egw_admin_remote');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* magic method to read a property, all non admin-cmd properties are stored in the data array
|
||||
*
|
||||
*
|
||||
* @param string $property
|
||||
* @return mixed
|
||||
*/
|
||||
@ -467,7 +467,7 @@ abstract class admin_cmd
|
||||
|
||||
/**
|
||||
* magic method to check if a property is set, all non admin-cmd properties are stored in the data array
|
||||
*
|
||||
*
|
||||
* @param string $property
|
||||
* @return boolean
|
||||
*/
|
||||
@ -522,10 +522,10 @@ abstract class admin_cmd
|
||||
}
|
||||
unset($vars['data']);
|
||||
if ($this->data) $vars = array_merge($this->data,$vars);
|
||||
|
||||
|
||||
return $vars;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if the creator is still admin and has the neccessary admin rights
|
||||
*
|
||||
@ -576,7 +576,7 @@ abstract class admin_cmd
|
||||
}
|
||||
return $apps;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* parse account name or id
|
||||
*
|
||||
@ -590,7 +590,7 @@ abstract class admin_cmd
|
||||
{
|
||||
admin_cmd::_instanciate_accounts();
|
||||
|
||||
if (!($type = admin_cmd::$accounts->exists($account)) ||
|
||||
if (!($type = admin_cmd::$accounts->exists($account)) ||
|
||||
!is_numeric($id=$account) && !($id = admin_cmd::$accounts->name2id($account)))
|
||||
{
|
||||
throw new egw_exception_wrong_userinput(lang("Unknown account: %1 !!!",$account),15);
|
||||
@ -600,10 +600,10 @@ abstract class admin_cmd
|
||||
throw new egw_exception_wrong_userinput(lang("Wrong account type: %1 is NO %2 !!!",$account,$allow_only_user?lang('user'):lang('group')),15);
|
||||
}
|
||||
if ($type == 2 && $id > 0) $id = -$id; // groups use negative id's internally, fix it, if user given the wrong sign
|
||||
|
||||
|
||||
return $id;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* parse account names or ids
|
||||
*
|
||||
@ -616,7 +616,7 @@ abstract class admin_cmd
|
||||
static function parse_accounts($accounts,$allow_only_user=null)
|
||||
{
|
||||
if (!$accounts) return null;
|
||||
|
||||
|
||||
$ids = array();
|
||||
foreach(is_array($accounts) ? $accounts : explode(',',$accounts) as $account)
|
||||
{
|
||||
@ -624,7 +624,7 @@ abstract class admin_cmd
|
||||
}
|
||||
return $ids;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parses a date into an integer timestamp
|
||||
*
|
||||
@ -639,7 +639,7 @@ abstract class admin_cmd
|
||||
$datein = $date;
|
||||
// convert german DD.MM.YYYY format into ISO YYYY-MM-DD format
|
||||
$date = preg_replace('/^([0-9]{1,2})\.([0-9]{1,2})\.([0-9]{4})$/','\3-\2-\1',$date);
|
||||
|
||||
|
||||
if (($date = strtotime($date)) === false)
|
||||
{
|
||||
throw new egw_exception_wrong_userinput(lang('Invalid formated date "%1"!',$datein),6);
|
||||
@ -647,7 +647,7 @@ abstract class admin_cmd
|
||||
}
|
||||
return (int)$date;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parse a boolean value
|
||||
*
|
||||
@ -672,7 +672,7 @@ abstract class admin_cmd
|
||||
}
|
||||
throw new egw_exception_wrong_userinput(lang('Invalid value "%1" use yes or no!',$value),998);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Parse a remote id or name and return the remote_id
|
||||
*
|
||||
@ -683,7 +683,7 @@ abstract class admin_cmd
|
||||
static function parse_remote($id_or_name)
|
||||
{
|
||||
admin_cmd::_instanciate_remote();
|
||||
|
||||
|
||||
if (!($remotes = admin_cmd::$remote->search(array(
|
||||
'remote_id' => $id_or_name,
|
||||
'remote_name' => $id_or_name,
|
||||
@ -739,7 +739,7 @@ abstract class admin_cmd
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* RFC822 email address of the an account, eg. "Ralf Becker <RalfBecker@egroupware.org>"
|
||||
*
|
||||
@ -761,7 +761,7 @@ abstract class admin_cmd
|
||||
}
|
||||
return $fullname . ($email ? ' <'.$email.'>' : '');
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Semaphore to not permanently set new jobs, while we running the current ones
|
||||
*
|
||||
@ -772,9 +772,9 @@ abstract class admin_cmd
|
||||
|
||||
/**
|
||||
* Setup an async job to run the next scheduled command
|
||||
*
|
||||
*
|
||||
* Only needs to be called if a new command gets scheduled
|
||||
*
|
||||
*
|
||||
* @return boolean true if job installed, false if not necessary
|
||||
*/
|
||||
private static function _set_async_job()
|
||||
@ -796,15 +796,15 @@ abstract class admin_cmd
|
||||
}
|
||||
include_once(EGW_API_INC.'/class.asyncservice.inc.php');
|
||||
$async = new asyncservice();
|
||||
|
||||
|
||||
// we cant use this class as callback, as it's abstract and ExecMethod used by the async service instanciated the class!
|
||||
list($app) = explode('_',$class=$next['type']);
|
||||
$callback = $app.'.'.$class.'.run_queued_jobs';
|
||||
|
||||
|
||||
$async->cancel_timer(admin_cmd::async_job_id); // we delete it in case a job already exists
|
||||
return $async->set_timer($time,admin_cmd::async_job_id,$callback,null,$next['creator']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Callback for our async job
|
||||
*
|
||||
@ -840,7 +840,7 @@ abstract class admin_cmd
|
||||
|
||||
return admin_cmd::_set_async_job();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return a list of defined remote instances
|
||||
*
|
||||
@ -849,7 +849,7 @@ abstract class admin_cmd
|
||||
static function remote_sites()
|
||||
{
|
||||
admin_cmd::_instanciate_remote();
|
||||
|
||||
|
||||
$sites = array(lang('local'));
|
||||
if ($remote = admin_cmd::$remote->query_list('remote_name','remote_id'))
|
||||
{
|
||||
@ -857,7 +857,7 @@ abstract class admin_cmd
|
||||
}
|
||||
return $sites;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* get_rows for remote instances
|
||||
*
|
||||
@ -869,10 +869,10 @@ abstract class admin_cmd
|
||||
static function get_remotes($query,&$rows,&$readonlys)
|
||||
{
|
||||
admin_cmd::_instanciate_remote();
|
||||
|
||||
|
||||
return admin_cmd::$remote->get_rows($query,$rows,$readonlys);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Read data of a remote instance
|
||||
*
|
||||
@ -882,10 +882,10 @@ abstract class admin_cmd
|
||||
static function read_remote($keys)
|
||||
{
|
||||
admin_cmd::_instanciate_remote();
|
||||
|
||||
|
||||
return admin_cmd::$remote->read($keys);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Save / adds a remote instance
|
||||
*
|
||||
@ -895,7 +895,7 @@ abstract class admin_cmd
|
||||
static function save_remote(array $data)
|
||||
{
|
||||
admin_cmd::_instanciate_remote();
|
||||
|
||||
|
||||
if ($data['install_id'] && $data['config_passwd']) // calculate hash
|
||||
{
|
||||
$data['remote_hash'] = self::remote_hash($data['install_id'],$data['config_passwd']);
|
||||
@ -906,7 +906,7 @@ abstract class admin_cmd
|
||||
}
|
||||
//_debug_array($data);
|
||||
admin_cmd::$remote->init($data);
|
||||
|
||||
|
||||
// check if a unique key constrain would be violated by saving the entry
|
||||
if (($num = admin_cmd::$remote->not_unique()))
|
||||
{
|
||||
@ -919,7 +919,7 @@ abstract class admin_cmd
|
||||
}
|
||||
return admin_cmd::$remote->data['remote_id'];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Calculate the remote hash from install_id and config_passwd
|
||||
*
|
||||
@ -934,13 +934,13 @@ abstract class admin_cmd
|
||||
throw new egw_exception_wrong_parameter(empty($config_passwd)?'Empty config password':'install_id no md5 hash');
|
||||
}
|
||||
if (!self::is_md5($config_passwd)) $config_passwd = md5($config_passwd);
|
||||
|
||||
|
||||
return md5($config_passwd.$install_id);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* displays an account specified by it's id or lid
|
||||
*
|
||||
*
|
||||
* We show the value given by the user, plus the full name in brackets.
|
||||
*
|
||||
* @param int/string $account
|
||||
@ -949,10 +949,10 @@ abstract class admin_cmd
|
||||
static function display_account($account)
|
||||
{
|
||||
$id = is_numeric($account) ? $account : $GLOBALS['egw']->accounts->id2name($account);
|
||||
|
||||
|
||||
return $account.' ('.$GLOBALS['egw']->common->grab_owner_name($id).')';
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if string is a md5 hash (32 chars of 0-9 or a-f)
|
||||
*
|
||||
@ -963,17 +963,17 @@ abstract class admin_cmd
|
||||
{
|
||||
return preg_match('/^[0-9a-f]{32}$/',$str);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if the current command has the right crediential to be excuted remotely
|
||||
*
|
||||
*
|
||||
* Command can reimplement that method, to allow eg. anonymous execution.
|
||||
*
|
||||
* This default implementation use a secret to authenticate with the installation,
|
||||
* which is a md5 hash build from the uid of the command (to not allow to send new
|
||||
* commands with an earsdroped secret) and the md5 hash of the md5 hash of the
|
||||
* This default implementation use a secret to authenticate with the installation,
|
||||
* which is a md5 hash build from the uid of the command (to not allow to send new
|
||||
* commands with an earsdroped secret) and the md5 hash of the md5 hash of the
|
||||
* config password and the install_id (egw_admin_remote.remote_hash)
|
||||
*
|
||||
*
|
||||
* @param string $secret hash used to authenticate the command (
|
||||
* @param string $config_passwd of the current domain
|
||||
* @throws egw_exception_no_permission
|
||||
@ -983,9 +983,9 @@ abstract class admin_cmd
|
||||
// as a security measure remote administration need to be enabled under Admin > Site configuration
|
||||
list(,$remote_admin_install_id) = explode('-',$this->uid);
|
||||
$allowed_remote_admin_ids = $GLOBALS['egw_info']['server']['allow_remote_admin'] ? explode(',',$GLOBALS['egw_info']['server']['allow_remote_admin']) : array();
|
||||
|
||||
// to authenticate with the installation we use a secret, which is a md5 hash build from the uid
|
||||
// of the command (to not allow to send new commands with an earsdroped secret) and the md5 hash
|
||||
|
||||
// to authenticate with the installation we use a secret, which is a md5 hash build from the uid
|
||||
// of the command (to not allow to send new commands with an earsdroped secret) and the md5 hash
|
||||
// of the md5 hash of the config password and the install_id (egw_admin_remote.remote_hash)
|
||||
if (is_null($config_passwd) || is_numeric($this->uid) || !in_array($remote_admin_install_id,$allowed_remote_admin_ids) ||
|
||||
$secret != ($md5=md5($this->uid.$this->remote_hash($GLOBALS['egw_info']['server']['install_id'],$config_passwd))))
|
||||
@ -999,7 +999,7 @@ abstract class admin_cmd
|
||||
throw new egw_exception_no_permission($msg,0);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Return a rand string, eg. to generate passwords
|
||||
*
|
||||
|
@ -7,13 +7,13 @@
|
||||
* @package admin
|
||||
* @copyright (c) 2007 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
/**
|
||||
* admin command: edit/add a user
|
||||
*/
|
||||
class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
@ -37,7 +37,7 @@ class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
|
||||
/**
|
||||
* change the password of a given user
|
||||
*
|
||||
*
|
||||
* @param boolean $check_only=false only run the checks (and throw the exceptions), but not the command itself
|
||||
* @return string success message
|
||||
* @throws egw_exception_no_admin
|
||||
@ -63,18 +63,11 @@ class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
{
|
||||
throw new egw_exception_wrong_userinput(lang('You must enter a loginid'),9);
|
||||
}
|
||||
// Check if an account already exists as system user, and if it does deny creation
|
||||
if ($GLOBALS['egw_info']['server']['account_repository'] == 'ldap' &&
|
||||
!$GLOBALS['egw_info']['server']['ldap_allow_systemusernames'] &&
|
||||
function_exists('posix_getpwnam') && posix_getpwnam($data['account_lid']))
|
||||
{
|
||||
throw new egw_exception_wrong_userinput(lang('There already is a system-user with this name. User\'s should not have the same name as a systemuser'),99);
|
||||
}
|
||||
if (!$data['account_lastname'] && (!$this->account || !is_null($data['account_lastname'])))
|
||||
{
|
||||
throw new egw_exception_wrong_userinput(lang('You must enter a lastname'),9);
|
||||
}
|
||||
if (!is_null($data['account_lid']) && ($id = admin_cmd::$accounts->name2id($data['account_lid'],'account_lid','u')) &&
|
||||
if (!is_null($data['account_lid']) && ($id = admin_cmd::$accounts->name2id($data['account_lid'],'account_lid','u')) &&
|
||||
$id !== $data['account_id'])
|
||||
{
|
||||
throw new egw_exception_wrong_userinput(lang('That loginid has already been taken'),999);
|
||||
@ -85,10 +78,10 @@ class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
}
|
||||
$data['account_expires'] = $expires = self::_parse_expired($data['account_expires'],(boolean)$this->account);
|
||||
$data['account_status'] = is_null($expires) ? null : ($expires == -1 || $expires > time() ? 'A' : '');
|
||||
|
||||
|
||||
$data['changepassword'] = admin_cmd::parse_boolean($data['changepassword'],$this->account ? null : true);
|
||||
$data['anonymous'] = admin_cmd::parse_boolean($data['anonymous'],$this->account ? null : false);
|
||||
|
||||
|
||||
if (!$data['account_primary_group'] && $this->account)
|
||||
{
|
||||
$data['account_primary_group'] = null; // dont change
|
||||
@ -114,7 +107,7 @@ class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
$data['account_groups'] = admin_cmd::parse_accounts($data['account_groups'],false);
|
||||
}
|
||||
if ($check_only) return true;
|
||||
|
||||
|
||||
if ($this->account)
|
||||
{
|
||||
if (!($old = admin_cmd::$accounts->read($data['account_id'])))
|
||||
@ -169,7 +162,7 @@ class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
$GLOBALS['egw']->hooks->process($GLOBALS['hook_values']+array(
|
||||
'location' => $this->account ? 'editaccount' : 'addaccount'
|
||||
),False,True); // called for every app now, not only enabled ones)
|
||||
|
||||
|
||||
return lang("Account %1 %2",$this->account ? $this->account : $data['account_lid'],
|
||||
$this->account ? lang('updated') : lang("created with id #%1",$data['account_id']));
|
||||
}
|
||||
@ -184,7 +177,7 @@ class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
return lang('%1 user %2',$this->account ? lang('Edit') : lang('Add'),
|
||||
admin_cmd::display_account($this->account ? $this->account : $this->set['account_lid']));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* parse the expired string and return the expired date as timestamp
|
||||
*
|
||||
@ -198,7 +191,7 @@ class admin_cmd_edit_user extends admin_cmd_change_pw
|
||||
switch($str)
|
||||
{
|
||||
case '':
|
||||
if ($existing) return null;
|
||||
if ($existing) return null;
|
||||
// fall through --> default for new accounts is never
|
||||
case 'never':
|
||||
return -1;
|
||||
|
@ -12,46 +12,43 @@
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class admin_db_backup
|
||||
{
|
||||
var $public_functions = array(
|
||||
'do_backup' => true,
|
||||
'index' => true,
|
||||
);
|
||||
var $db_backup;
|
||||
|
||||
function admin_db_backup()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Method for sheduled backups, called via asynservice
|
||||
*/
|
||||
function do_backup()
|
||||
{
|
||||
class admin_db_backup
|
||||
{
|
||||
var $public_functions = array(
|
||||
'do_backup' => true,
|
||||
'index' => true,
|
||||
);
|
||||
var $db_backup;
|
||||
|
||||
function admin_db_backup()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Method for sheduled backups, called via asynservice
|
||||
*/
|
||||
function do_backup()
|
||||
{
|
||||
$this->db_backup =& CreateObject('phpgwapi.db_backup');
|
||||
|
||||
if ($f = $this->db_backup->fopen_backup())
|
||||
{
|
||||
$this->db_backup->backup($f);
|
||||
if(is_resource($f))
|
||||
fclose($f);
|
||||
/* Remove old backups. */
|
||||
$this->db_backup->housekeeping();
|
||||
fclose($f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* includes setup's db_backup to display/access it inside admin
|
||||
*/
|
||||
function index()
|
||||
{
|
||||
$tpl_root = EGW_SERVER_ROOT.'/setup/templates/default';
|
||||
/**
|
||||
* includes setup's db_backup to display/access it inside admin
|
||||
*/
|
||||
function index()
|
||||
{
|
||||
$tpl_root = EGW_SERVER_ROOT.'/setup/templates/default';
|
||||
$self = $GLOBALS['egw']->link('/index.php',array('menuaction'=>'admin.admin_db_backup.index'));
|
||||
$GLOBALS['egw']->translation->add_app('setup');
|
||||
|
||||
|
||||
include EGW_SERVER_ROOT.'/setup/db_backup.php';
|
||||
|
||||
$GLOBALS['egw']->common->egw_footer();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -28,10 +28,11 @@ class admin_prefs_sidebox_hooks
|
||||
}
|
||||
$appname = 'admin';
|
||||
$location = is_array($args) ? $args['location'] : $args;
|
||||
|
||||
|
||||
if ($GLOBALS['egw_info']['user']['apps']['admin'] && $location != 'admins')
|
||||
{
|
||||
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('site_config_access',1,'admin'))
|
||||
{
|
||||
$file['Site Configuration'] = egw::link('/index.php','menuaction=admin.uiconfig.index&appname=admin');
|
||||
@ -60,7 +61,7 @@ class admin_prefs_sidebox_hooks
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('global_categories_access',1,'admin'))
|
||||
{
|
||||
$file['Global Categories'] = egw::link('/index.php','menuaction=admin.admin_categories.index&appname=phpgw');
|
||||
$file['Global Categories'] = egw::link('/index.php','menuaction=admin.uicategories.index');
|
||||
}
|
||||
|
||||
if (!$GLOBALS['egw']->acl->check('mainscreen_message_access',1,'admin') || !$GLOBALS['egw']->acl->check('mainscreen_message_access',2,'admin'))
|
||||
@ -72,10 +73,10 @@ class admin_prefs_sidebox_hooks
|
||||
{
|
||||
$file['View Sessions'] = egw::link('/index.php','menuaction=admin.uicurrentsessions.list_sessions');
|
||||
}
|
||||
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
|
||||
{
|
||||
$file['View Access Log'] = egw::link('/index.php','menuaction=admin.admin_accesslog.index');
|
||||
$file['View Access Log'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccess_history.list_history');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('error_log_access',1,'admin'))
|
||||
@ -117,4 +118,45 @@ class admin_prefs_sidebox_hooks
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* populates $GLOBALS['settings'] for the preferences
|
||||
*/
|
||||
function settings()
|
||||
{
|
||||
$this->check_set_default_prefs();
|
||||
|
||||
return true; // otherwise prefs say it cant find the file ;-)
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if reasonable default preferences are set and set them if not
|
||||
*
|
||||
* It sets a flag in the app-session-data to be called only once per session
|
||||
*/
|
||||
function check_set_default_prefs()
|
||||
{
|
||||
if ($GLOBALS['egw']->session->appsession('default_prefs_set','admin'))
|
||||
{
|
||||
return;
|
||||
}
|
||||
$GLOBALS['egw']->session->appsession('default_prefs_set','admin','set');
|
||||
|
||||
$default_prefs =& $GLOBALS['egw']->preferences->default['admin'];
|
||||
|
||||
$defaults = array(
|
||||
);
|
||||
foreach($defaults as $var => $default)
|
||||
{
|
||||
if (!isset($default_prefs[$var]) || $default_prefs[$var] === '')
|
||||
{
|
||||
$GLOBALS['egw']->preferences->add('admin',$var,$default,'default');
|
||||
$need_save = True;
|
||||
}
|
||||
}
|
||||
if ($need_save)
|
||||
{
|
||||
$GLOBALS['egw']->preferences->save_repository(False,'default');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -5,7 +5,7 @@
|
||||
* @link http://www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @package admin
|
||||
* @copyright (c) 2009 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @copyright (c) 2009-11 by Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
@ -23,8 +23,8 @@ class admin_statistics
|
||||
const CONFIG_USAGE_TYPE = 'usage_type_submit';
|
||||
const CONFIG_INSTALL_TYPE = 'install_type_submit';
|
||||
|
||||
const SUBMIT_URL = 'http://www.egroupware-server.org/usage-statistic';
|
||||
const STATISTIC_URL = 'http://www.egroupware-server.org/usage-statistic';
|
||||
const SUBMIT_URL = 'https://www.egroupware.org/usage-statistic';
|
||||
const STATISTIC_URL = 'http://www.egroupware.org/usage-statistic';
|
||||
|
||||
const SUBMISION_RATE = 2592000; // 30 days
|
||||
|
||||
@ -52,7 +52,7 @@ class admin_statistics
|
||||
config::save_value(self::CONFIG_POSTPONE_SUBMIT,time()+$content['postpone'],self::CONFIG_APP);
|
||||
$what = 'postpone';
|
||||
}
|
||||
elseif($content['submit'])
|
||||
elseif(!$content['canceled'])
|
||||
{
|
||||
config::save_value(self::CONFIG_LAST_SUBMIT,time(),self::CONFIG_APP);
|
||||
config::save_value(self::CONFIG_SUBMIT_ID,empty($content['submit_id']) ? '***none***' : $content['submit_id'],self::CONFIG_APP);
|
||||
@ -128,18 +128,45 @@ class admin_statistics
|
||||
if (!isset($config[self::CONFIG_LAST_SUBMIT]) || $config[self::CONFIG_LAST_SUBMIT ] <= time()-self::SUBMISION_RATE)
|
||||
{
|
||||
// clear etemplate_exec_id and replace form.action, before submitting the form
|
||||
$content['onclick'] = "
|
||||
var action=this.form.action;
|
||||
var exec_id=this.form['etemplate_exec_id'].value;
|
||||
this.form.action='$content[submit_url]';
|
||||
this.form['etemplate_exec_id'].value='';
|
||||
this.form.target='_blank';
|
||||
if (!confirm('".addslashes(lang('Submit displayed information?'))."')) return false;
|
||||
this.form.submit();
|
||||
this.form.action = action;
|
||||
this.form['etemplate_exec_id'].value = exec_id;
|
||||
this.form.target = '';
|
||||
return true;";
|
||||
$content['onclick'] = "return submit_statistic(this.form,'$content[submit_url]','".addslashes(lang('Submit displayed information?'))."');";
|
||||
|
||||
// Webkit browsers (Chrome, Safari, ...) do NOT allow to call form.submit() from within onclick of a submit button.
|
||||
// Therefor we first store our own form action, replace it with egroupware.org submit url and set a timeout calling
|
||||
// submit_statistic again with just the form, to do the second submit to our own webserver
|
||||
$GLOBALS['egw_info']['flags']['java_script'] = "<script type=\"text/javascript\">
|
||||
var own_action;
|
||||
var own_exec_id;
|
||||
|
||||
function submit_statistic(form,submit_url,confirm_msg)
|
||||
{
|
||||
if (submit_url) {
|
||||
if (!confirm(confirm_msg)) return false;
|
||||
|
||||
own_action = form.action;
|
||||
own_exec_id = form['etemplate_exec_id'].value;
|
||||
|
||||
// submit to own webserver
|
||||
window.setTimeout(function() {
|
||||
submit_statistic(form);
|
||||
},100);
|
||||
|
||||
// submit to egroupware.org
|
||||
form.action=submit_url;
|
||||
form['etemplate_exec_id'].value='';
|
||||
form.target='_blank';
|
||||
} else {
|
||||
// submit to own webserver
|
||||
form.action = own_action;
|
||||
form['etemplate_exec_id'].value=own_exec_id;
|
||||
form.target='';
|
||||
|
||||
form.submit();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
</script>
|
||||
";
|
||||
}
|
||||
else // we are not due --> tell it the user
|
||||
{
|
||||
|
85
admin/inc/class.boaccess_history.inc.php
Normal file
85
admin/inc/class.boaccess_history.inc.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare - Administration *
|
||||
* http://www.egroupware.org *
|
||||
* -------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class boaccess_history
|
||||
{
|
||||
function boaccess_history()
|
||||
{
|
||||
$this->so =& CreateObject('admin.soaccess_history');
|
||||
}
|
||||
|
||||
function list_history($account_id,$start,$order,$sort)
|
||||
{
|
||||
$records = $this->so->list_history($account_id,$start,$order,$sort);
|
||||
while (is_array($records) && list(,$record) = each($records))
|
||||
{
|
||||
if ($record['li'] && $record['lo'])
|
||||
{
|
||||
$total = ($record['lo'] - $record['li']);
|
||||
if ($total > 86400 && $total > 172800)
|
||||
{
|
||||
$total = gmdate('z \d\a\y\s - G:i:s',$total);
|
||||
}
|
||||
else if ($total > 172800)
|
||||
{
|
||||
$total = gmdate('z \d\a\y - G:i:s',$total);
|
||||
}
|
||||
else
|
||||
{
|
||||
$total = gmdate('G:i:s',$total);
|
||||
}
|
||||
}
|
||||
|
||||
if ($record['li'])
|
||||
{
|
||||
$record['li'] = $GLOBALS['egw']->common->show_date($record['li']);
|
||||
}
|
||||
|
||||
if ($record['lo'])
|
||||
{
|
||||
$record['lo'] = $GLOBALS['egw']->common->show_date($record['lo']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$record['lo'] = ''; // dont show a 0 for not loged out
|
||||
}
|
||||
|
||||
if (ereg('@',$record['loginid']))
|
||||
{
|
||||
$t = explode('@',$record['loginid']);
|
||||
$record['loginid'] = $t[0];
|
||||
}
|
||||
|
||||
$_records[] = array(
|
||||
'loginid' => $record['loginid'],
|
||||
'ip' => $record['ip'],
|
||||
'li' => $record['li'],
|
||||
'lo' => $record['lo'],
|
||||
'account_id' => $record['account_id'],
|
||||
'sessionid' => $record['sessionid'],
|
||||
'total' => $total
|
||||
);
|
||||
}
|
||||
return $_records;
|
||||
}
|
||||
|
||||
function total($account_id)
|
||||
{
|
||||
return $this->so->total($account_id);
|
||||
}
|
||||
|
||||
function return_logged_out($account_id)
|
||||
{
|
||||
return $this->so->return_logged_out($account_id);
|
||||
}
|
||||
}
|
@ -49,7 +49,7 @@
|
||||
// delete all acl (and memberships) of group
|
||||
$GLOBALS['egw']->acl->delete_account($account_id);
|
||||
|
||||
// make this information also available in the hook
|
||||
// make this information also available in the hook
|
||||
$lid = $GLOBALS['egw']->accounts->id2name($account_id);
|
||||
|
||||
$GLOBALS['egw']->hooks->process($GLOBALS['hook_values'] = array(
|
||||
@ -72,7 +72,7 @@
|
||||
|
||||
$accountid = (int)$account_id;
|
||||
$account_id = get_account_id($accountid);
|
||||
// make this information also available in the hook
|
||||
// make this information also available in the hook
|
||||
$lid = $GLOBALS['egw']->accounts->id2name($account_id);
|
||||
|
||||
$GLOBALS['hook_values'] = array(
|
||||
@ -352,28 +352,20 @@
|
||||
$error[$totalerrors] = lang('The groups must include the primary group');
|
||||
$totalerrors++;
|
||||
}
|
||||
// Check if an account already exists as system user, and if it does deny creation
|
||||
// (increase the totalerrors counter and the message thereof)
|
||||
if ($GLOBALS['egw_info']['server']['account_repository'] == 'ldap' &&
|
||||
!$GLOBALS['egw_info']['server']['ldap_allow_systemusernames'] &&
|
||||
function_exists('posix_getpwnam') && posix_getpwnam($_userData['account_lid']))
|
||||
{
|
||||
$error[$totalerrors] = lang('There already is a system-user with this name. User\'s should not have the same name as a systemuser');
|
||||
$totalerrors++;
|
||||
}
|
||||
|
||||
if($_userData['old_loginid'] != $_userData['account_lid'])
|
||||
{
|
||||
if($GLOBALS['egw']->accounts->exists($_userData['account_lid']))
|
||||
if($GLOBALS['egw']->accounts->exists($_userData['account_lid']))
|
||||
{
|
||||
if($GLOBALS['egw']->accounts->exists($_userData['account_lid']) && $GLOBALS['egw']->accounts->get_type($_userData['account_lid'])=='g')
|
||||
{
|
||||
if($GLOBALS['egw']->accounts->exists($_userData['account_lid']) && $GLOBALS['egw']->accounts->get_type($_userData['account_lid'])=='g')
|
||||
{
|
||||
$error[$totalerrors] = lang('There already is a group with this name. Userid\'s can not have the same name as a groupid');
|
||||
}
|
||||
else
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
$error[$totalerrors] = lang('That loginid has already been taken');
|
||||
}
|
||||
$totalerrors++;
|
||||
}
|
||||
$totalerrors++;
|
||||
}
|
||||
}
|
||||
|
||||
|
150
admin/inc/class.bocategories.inc.php
Normal file
150
admin/inc/class.bocategories.inc.php
Normal file
@ -0,0 +1,150 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare - Admin - Global categories *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Bettina Gille [ceb@phpgroupware.org] *
|
||||
* ----------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
/* $Id$ */
|
||||
/* $Source$ */
|
||||
|
||||
class bocategories
|
||||
{
|
||||
var $cats;
|
||||
|
||||
var $start;
|
||||
var $query;
|
||||
var $sort;
|
||||
var $order;
|
||||
var $filter;
|
||||
var $cat_id;
|
||||
var $total;
|
||||
|
||||
var $debug = False;
|
||||
|
||||
function bocategories()
|
||||
{
|
||||
if ($_REQUEST['appname'])
|
||||
{
|
||||
$this->cats =& CreateObject('phpgwapi.categories',-1,$_REQUEST['appname']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->cats =& CreateObject('phpgwapi.categories',$GLOBALS['egw_info']['user']['account_id'],'phpgw');
|
||||
}
|
||||
|
||||
$this->read_sessiondata();
|
||||
|
||||
foreach(array('start','query','sort','order','cat_id') as $name)
|
||||
{
|
||||
if (isset($_REQUEST[$name])) $this->$name = $_REQUEST[$name];
|
||||
}
|
||||
}
|
||||
|
||||
function save_sessiondata($data)
|
||||
{
|
||||
if($this->debug) { echo '<br>Save:'; _debug_array($data); }
|
||||
//echo '<p>'.__METHOD__."() start=$this->start, sort=$this->sort, order=$this->order, query=$this->query</p>\n";
|
||||
$GLOBALS['egw']->session->appsession('session_data','admin_cats',$data);
|
||||
}
|
||||
|
||||
function read_sessiondata()
|
||||
{
|
||||
$data = $GLOBALS['egw']->session->appsession('session_data','admin_cats');
|
||||
if($this->debug) { echo '<br>Read:'; _debug_array($data); }
|
||||
|
||||
$this->start = $data['start'];
|
||||
$this->query = $data['query'];
|
||||
$this->sort = $data['sort'];
|
||||
$this->order = $data['order'];
|
||||
if(isset($data['cat_id']))
|
||||
{
|
||||
$this->cat_id = $data['cat_id'];
|
||||
}
|
||||
//echo '<p>'.__METHOD__."() start=$this->start, sort=$this->sort, order=$this->order, query=$this->query</p>\n";
|
||||
}
|
||||
|
||||
function get_list()
|
||||
{
|
||||
if($this->debug) { echo '<br>querying: "' . $this->query . '"'; }
|
||||
//echo '<p>'.__METHOD__."() start=$this->start, sort=$this->sort, order=$this->order, query=$this->query</p>\n";
|
||||
return $this->cats->return_sorted_array($this->start,True,$this->query,$this->sort,$this->order,True);
|
||||
}
|
||||
|
||||
function save_cat($values)
|
||||
{
|
||||
if ($values['id'] && $values['id'] != 0)
|
||||
{
|
||||
return $this->cats->edit($values);
|
||||
}
|
||||
else
|
||||
{
|
||||
return $this->cats->add($values);
|
||||
}
|
||||
}
|
||||
|
||||
function exists($data)
|
||||
{
|
||||
$data['type'] = $data['type'] ? $data['type'] : '';
|
||||
$data['cat_id'] = $data['cat_id'] ? $data['cat_id'] : '';
|
||||
return $this->cats->exists($data['type'],$data['cat_name'],$data['type'] == 'subs' ? 0 : $data['cat_id'],$data['type'] != 'subs' ? 0 : $data['cat_id']);
|
||||
}
|
||||
|
||||
function formatted_list($data)
|
||||
{
|
||||
return $this->cats->formatted_list($data['select'],$data['all'],$data['cat_parent'],True);
|
||||
}
|
||||
|
||||
function delete($cat_id,$subs=False)
|
||||
{
|
||||
return $this->cats->delete($cat_id,$subs,!$subs); // either delete the subs or modify them
|
||||
}
|
||||
|
||||
function check_values($values)
|
||||
{
|
||||
if (strlen($values['descr']) >= 255)
|
||||
{
|
||||
$error[] = lang('Description can not exceed 255 characters in length !');
|
||||
}
|
||||
|
||||
if (!$values['name'])
|
||||
{
|
||||
$error[] = lang('Please enter a name');
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!$values['parent'])
|
||||
{
|
||||
$exists = $this->exists(array
|
||||
(
|
||||
'type' => 'appandmains',
|
||||
'cat_name' => $values['name'],
|
||||
'cat_id' => $values['id']
|
||||
));
|
||||
}
|
||||
else
|
||||
{
|
||||
$exists = $this->exists(array
|
||||
(
|
||||
'type' => 'appandsubs',
|
||||
'cat_name' => $values['name'],
|
||||
'cat_id' => $values['id']
|
||||
));
|
||||
}
|
||||
|
||||
if ($exists == True)
|
||||
{
|
||||
$error[] = lang('That name has been used already');
|
||||
}
|
||||
}
|
||||
|
||||
if (is_array($error))
|
||||
{
|
||||
return $error;
|
||||
}
|
||||
}
|
||||
}
|
@ -31,7 +31,7 @@
|
||||
|
||||
while (list(,$value) = @each($values))
|
||||
{
|
||||
if (strpos($value['session_lid'],'@') !== false)
|
||||
if (ereg('@',$value['session_lid']))
|
||||
{
|
||||
$t = explode('@',$value['session_lid']);
|
||||
$session_lid = $t[0];
|
||||
|
@ -79,21 +79,13 @@ class customfields
|
||||
$this->fields = config::get_customfields($this->appname,true);
|
||||
$this->tmpl->read('admin.customfields');
|
||||
|
||||
if($this->manage_content_types)
|
||||
{
|
||||
$this->content_types = config::get_content_types($this->appname);
|
||||
if (count($this->content_types)==0)
|
||||
{
|
||||
// if you define your default types of your app with the search_link hook, they are available here, if no types were found
|
||||
$this->content_types = (array)egw_link::get_registry($this->appname,'default_types');
|
||||
//error_log( array2string($this->content_types));
|
||||
}
|
||||
}
|
||||
if($this->manage_content_types) $this->content_types = $this->get_content_types();
|
||||
else
|
||||
{
|
||||
$this->tmpl->children[0]['data'][2]['A']['disabled'] = true;
|
||||
$this->tmpl->children[0]['data'][3]['A']['disabled'] = true;
|
||||
}
|
||||
|
||||
if (is_array($content))
|
||||
{
|
||||
//echo '<pre style="text-align: left;">'; print_r($content); echo "</pre>\n";
|
||||
@ -161,6 +153,7 @@ class customfields
|
||||
$content['content_types']['non_deletable'] = true;
|
||||
}
|
||||
}
|
||||
|
||||
//echo 'customfields=<pre style="text-align: left;">'; print_r($this->fields); echo "</pre>\n";
|
||||
$content['fields'] = array('use_private' => $content['use_private']);
|
||||
$n = 0;
|
||||
|
66
admin/inc/class.soaccess_history.inc.php
Normal file
66
admin/inc/class.soaccess_history.inc.php
Normal file
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare - Administration *
|
||||
* http://www.egroupware.org *
|
||||
* -------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class soaccess_history
|
||||
{
|
||||
var $db;
|
||||
var $table = 'egw_access_log';
|
||||
|
||||
function soaccess_history()
|
||||
{
|
||||
$this->db = clone($GLOBALS['egw']->db);
|
||||
$this->db->set_app('phpgwapi');
|
||||
}
|
||||
|
||||
function test_account_id($account_id)
|
||||
{
|
||||
if ($account_id)
|
||||
{
|
||||
return array('account_id' => $account_id);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function &list_history($account_id,$start,$order,$sort)
|
||||
{
|
||||
$where = $this->test_account_id($account_id);
|
||||
|
||||
$this->db->select($this->table,'loginid,ip,li,lo,account_id,sessionid',$where,__LINE__,__FILE__,(int) $start,'ORDER BY li DESC');
|
||||
while (($row = $this->db->row(true)))
|
||||
{
|
||||
$records[] = $row;
|
||||
}
|
||||
return $records;
|
||||
}
|
||||
|
||||
function total($account_id)
|
||||
{
|
||||
$where = $this->test_account_id($account_id);
|
||||
|
||||
$this->db->select($this->table,'COUNT(*)',$where,__LINE__,__FILE__);
|
||||
|
||||
return $this->db->next_record() ? $this->db->f(0) : 0;
|
||||
}
|
||||
|
||||
function return_logged_out($account_id)
|
||||
{
|
||||
$where = array('lo != 0');
|
||||
if ($account_id)
|
||||
{
|
||||
$where['account_id'] = $account_id;
|
||||
}
|
||||
$this->db->select($this->table,'COUNT(*)',$where,__LINE__,__FILE__);
|
||||
|
||||
return $this->db->next_record() ? $this->db->f(0) : 0;
|
||||
}
|
||||
}
|
138
admin/inc/class.uiaccess_history.inc.php
Normal file
138
admin/inc/class.uiaccess_history.inc.php
Normal file
@ -0,0 +1,138 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare - Administration *
|
||||
* http://www.egroupware.org *
|
||||
* -------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class uiaccess_history
|
||||
{
|
||||
var $template;
|
||||
var $public_functions = array(
|
||||
'list_history' => True
|
||||
);
|
||||
|
||||
function uiaccess_history()
|
||||
{
|
||||
if ($GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php');
|
||||
}
|
||||
|
||||
$this->bo =& CreateObject('admin.boaccess_history');
|
||||
$this->nextmatchs =& CreateObject('phpgwapi.nextmatchs');
|
||||
$this->template = $GLOBALS['egw']->template;
|
||||
$this->template->set_file(
|
||||
Array(
|
||||
'accesslog' => 'accesslog.tpl'
|
||||
)
|
||||
);
|
||||
$this->template->set_block('accesslog','list');
|
||||
$this->template->set_block('accesslog','row');
|
||||
$this->template->set_block('accesslog','row_empty');
|
||||
}
|
||||
|
||||
function list_history()
|
||||
{
|
||||
$account_id = get_var('account_id',array('GET','POST'));
|
||||
$start = get_var('start',array('POST'),0);
|
||||
$sort = get_var('sort',array('POST'),0);
|
||||
$order = get_var('order',array('POST'),0);
|
||||
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Admin').' - '.lang('View access log');
|
||||
$GLOBALS['egw']->js->validate_file('jscode','openwindow','admin');
|
||||
$GLOBALS['egw']->common->egw_header();
|
||||
echo parse_navbar();
|
||||
|
||||
$total_records = $this->bo->total($account_id);
|
||||
|
||||
$var = Array(
|
||||
'th_bg' => $GLOBALS['egw_info']['theme']['th_bg'],
|
||||
'nextmatchs_left' => $this->nextmatchs->left('/index.php',$start,$total_records,'&menuaction=admin.uiaccess_history.list_history&account_id=' . $account_id),
|
||||
'nextmatchs_right' => $this->nextmatchs->right('/index.php',$start,$total_records,'&menuaction=admin.uiaccess_history.list_history&account_id=' . $account_id),
|
||||
'showing' => $this->nextmatchs->show_hits($total_records,$start),
|
||||
'lang_loginid' => lang('LoginID'),
|
||||
'lang_ip' => lang('IP'),
|
||||
'lang_login' => lang('Login'),
|
||||
'lang_logout' => lang('Logout'),
|
||||
'lang_total' => lang('Total')
|
||||
);
|
||||
|
||||
if ($account_id)
|
||||
{
|
||||
$var['link_return_to_view_account'] = '<a href="' . $GLOBALS['egw']->link('/index.php',
|
||||
Array(
|
||||
'menuaction' => 'admin.uiaccounts.view',
|
||||
'account_id' => $account_id
|
||||
)
|
||||
) . '">' . lang('Return to view account') . '</a>';
|
||||
$var['lang_last_x_logins'] = lang('Last %1 logins for %2',$total_records,$GLOBALS['egw']->common->grab_owner_name($account_id));
|
||||
}
|
||||
else
|
||||
{
|
||||
$var['lang_last_x_logins'] = lang('Last %1 logins',$total_records);
|
||||
}
|
||||
|
||||
$this->template->set_var($var);
|
||||
|
||||
$records = $this->bo->list_history($account_id,$start,$order,$sort);
|
||||
while (is_array($records) && list(,$record) = each($records))
|
||||
{
|
||||
$this->nextmatchs->template_alternate_row_color($this->template);
|
||||
|
||||
$var = array(
|
||||
'row_loginid' => $record['loginid'],
|
||||
'row_ip' => $record['ip'],
|
||||
'row_li' => $record['li'],
|
||||
'row_lo' => $record['account_id'] ? $record['lo'] : '<b>'.lang($record['sessionid']).'</b>',
|
||||
'row_total' => ($record['lo']?$record['total']:' ')
|
||||
);
|
||||
$this->template->set_var($var);
|
||||
$this->template->fp('rows_access','row',True);
|
||||
}
|
||||
|
||||
if (! $total_records && $account_id)
|
||||
{
|
||||
$this->nextmatchs->template_alternate_row_color($this->template);
|
||||
$this->template->set_var('row_message',lang('No login history exists for this user'));
|
||||
$this->template->fp('rows_access','row_empty',True);
|
||||
}
|
||||
|
||||
$loggedout = $this->bo->return_logged_out($account_id);
|
||||
|
||||
if ($total_records)
|
||||
{
|
||||
$percent = round((10000 * ($loggedout / $total_records)) / 100);
|
||||
}
|
||||
else
|
||||
{
|
||||
$percent = '0';
|
||||
}
|
||||
|
||||
$var = Array(
|
||||
'bg_color' => $GLOBALS['egw_info']['themes']['bg_color'],
|
||||
'footer_total' => lang('Total records') . ': ' . $total_records
|
||||
);
|
||||
if ($account_id)
|
||||
{
|
||||
$var['lang_percent'] = lang('Percent this user has logged out') . ': ' . $percent . '%';
|
||||
}
|
||||
else
|
||||
{
|
||||
$var['lang_percent'] = lang('Percent of users that logged out') . ': ' . $percent . '%';
|
||||
}
|
||||
|
||||
// create the menu on the left, if needed
|
||||
$menuClass =& CreateObject('admin.uimenuclass');
|
||||
$var['rows'] = $menuClass->createHTMLCode('view_account');
|
||||
|
||||
$this->template->set_var($var);
|
||||
$this->template->pfp('out','list');
|
||||
}
|
||||
}
|
@ -94,7 +94,7 @@
|
||||
if(isset($_REQUEST['query']))
|
||||
{
|
||||
// limit query to limit characters
|
||||
//if(preg_match('/^[a-z_0-9]+$/i',$_REQUEST['query']))
|
||||
//if(eregi('^[a-z_0-9]+$',$_REQUEST['query']))
|
||||
$GLOBALS['query'] = $_REQUEST['query'];
|
||||
}
|
||||
|
||||
@ -810,7 +810,7 @@
|
||||
$GLOBALS['menuData'][] = array(
|
||||
'description' => 'Login History',
|
||||
'url' => '/index.php',
|
||||
'extradata' => 'menuaction=admin.admin_accesslog.index'
|
||||
'extradata' => 'menuaction=admin.uiaccess_history.list_history'
|
||||
);
|
||||
}
|
||||
// not sure if this realy belongs here, or only in edit_user
|
||||
@ -1192,24 +1192,18 @@
|
||||
}
|
||||
reset($GLOBALS['egw_info']['apps']);
|
||||
$sorted_apps = $GLOBALS['egw_info']['apps'];
|
||||
foreach ($sorted_apps as $key => $values) {
|
||||
$sortarray[$key] = strtolower($values['title']);
|
||||
}
|
||||
unset($key); unset($values);
|
||||
@asort($sortarray);
|
||||
@reset($sortarray);
|
||||
|
||||
foreach ($sortarray as $key => $value)
|
||||
@asort($sorted_apps);
|
||||
@reset($sorted_apps);
|
||||
while ($permission = each($sorted_apps))
|
||||
{
|
||||
if ($sorted_apps[$key]['enabled'] && $sorted_apps[$key]['status'] != 3)
|
||||
if ($permission[1]['enabled'] && $permission[1]['status'] != 3)
|
||||
{
|
||||
$perm_display[] = Array(
|
||||
$key,
|
||||
$sorted_apps[$key]['title']
|
||||
$permission[0],
|
||||
$permission[1]['title']
|
||||
);
|
||||
}
|
||||
}
|
||||
unset($key); unset($value);
|
||||
|
||||
$perm_html = '<td width="35%">'.lang('Application').'</td><td width="15%">'.lang('enabled').' / '.lang('ACL').'</td>';
|
||||
$perm_html = '<tr class="th">'.
|
||||
|
@ -56,11 +56,7 @@ class uiasyncservice
|
||||
|
||||
if ($_POST['test'])
|
||||
{
|
||||
if (strpos($GLOBALS['egw_info']['user']['email'],'@') === false)
|
||||
{
|
||||
echo '<p><b>'.lang("You have no email address for your user set !!!")."</b></p>\n";
|
||||
}
|
||||
elseif (!$async->set_timer($times,'test','admin.uiasyncservice.test',$GLOBALS['egw_info']['user']['email']))
|
||||
if (!$async->set_timer($times,'test','admin.uiasyncservice.test',$GLOBALS['egw_info']['user']['email']))
|
||||
{
|
||||
echo '<p><b>'.lang("Error setting timer, wrong syntax or maybe there's one already running !!!")."</b></p>\n";
|
||||
}
|
||||
|
575
admin/inc/class.uicategories.inc.php
Normal file
575
admin/inc/class.uicategories.inc.php
Normal file
@ -0,0 +1,575 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare - Admin - Global categories *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Bettina Gille [ceb@phpgroupware.org] *
|
||||
* Simplified ;-) and icon & color added by RalfBecker@outdoor-training.de *
|
||||
* ----------------------------------------------- *
|
||||
* Copyright 2000 - 2003 Free Software Foundation, Inc *
|
||||
* *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
|
||||
class uicategories
|
||||
{
|
||||
var $bo;
|
||||
var $template;
|
||||
|
||||
var $start;
|
||||
var $query;
|
||||
var $sort;
|
||||
var $order;
|
||||
var $cat_id;
|
||||
var $debug = False;
|
||||
|
||||
var $public_functions = array
|
||||
(
|
||||
'index' => True,
|
||||
'edit' => True,
|
||||
'delete' => True
|
||||
);
|
||||
|
||||
function uicategories()
|
||||
{
|
||||
if ($GLOBALS['egw']->acl->check('global_categories_access',1,'admin'))
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php');
|
||||
}
|
||||
|
||||
$this->bo =& CreateObject('admin.bocategories');
|
||||
$this->template = $GLOBALS['egw']->template;
|
||||
$this->nextmatchs =& CreateObject('phpgwapi.nextmatchs');
|
||||
|
||||
$this->acl_search = !$GLOBALS['egw']->acl->check('global_categories_access',2,'admin');
|
||||
$this->acl_add = !$GLOBALS['egw']->acl->check('global_categories_access',4,'admin');
|
||||
$this->acl_view = !$GLOBALS['egw']->acl->check('global_categories_access',8,'admin');
|
||||
$this->acl_edit = !$GLOBALS['egw']->acl->check('global_categories_access',16,'admin');
|
||||
$this->acl_delete = !$GLOBALS['egw']->acl->check('global_categories_access',32,'admin');
|
||||
$this->acl_add_sub= !$GLOBALS['egw']->acl->check('global_categories_access',64,'admin');
|
||||
|
||||
$GLOBALS['egw']->js->validate_file('jscode','openwindow','admin');
|
||||
|
||||
$this->appname = get_var('appname',array('GET','POST'));
|
||||
$GLOBALS['egw_info']['flags']['app_header'] = $GLOBALS['egw_info']['apps'][$this->appname ? $this->appname : 'admin']['title'];
|
||||
|
||||
$this->start = $this->bo->start;
|
||||
$this->query = $this->bo->query;
|
||||
$this->sort = $this->bo->sort;
|
||||
$this->order = $this->bo->order;
|
||||
$this->cat_id = $this->bo->cat_id;
|
||||
if($this->debug) { $this->_debug_sqsof(); }
|
||||
|
||||
$dir = dir(EGW_SERVER_ROOT.'/phpgwapi/images');
|
||||
while($file = $dir->read())
|
||||
{
|
||||
if (preg_match('/\\.(png|gif|jpe?g)$/i',$file))
|
||||
{
|
||||
$this->icons[] = $file;
|
||||
}
|
||||
}
|
||||
$dir->close();
|
||||
sort($this->icons);
|
||||
$this->img_url = $GLOBALS['egw_info']['server']['webserver_url'].'/phpgwapi/images/';
|
||||
}
|
||||
|
||||
function _debug_sqsof()
|
||||
{
|
||||
$data = array(
|
||||
'start' => $this->start,
|
||||
'query' => $this->query,
|
||||
'sort' => $this->sort,
|
||||
'order' => $this->order,
|
||||
'cat_id' => $this->cat_id
|
||||
);
|
||||
echo '<br>UI:<br>';
|
||||
_debug_array($data);
|
||||
}
|
||||
|
||||
function save_sessiondata()
|
||||
{
|
||||
$data = array
|
||||
(
|
||||
'start' => $this->start,
|
||||
'query' => $this->query,
|
||||
'sort' => $this->sort,
|
||||
'order' => $this->order
|
||||
);
|
||||
|
||||
if(isset($this->cat_id))
|
||||
{
|
||||
$data['cat_id'] = $this->cat_id;
|
||||
}
|
||||
$this->bo->save_sessiondata($data);
|
||||
}
|
||||
|
||||
function set_langs()
|
||||
{
|
||||
$this->template->set_var('lang_save',lang('Save'));
|
||||
$this->template->set_var('lang_search',lang('Search'));
|
||||
$this->template->set_var('lang_sub',lang('Add sub'));
|
||||
$this->template->set_var('lang_icon',lang('icon'));
|
||||
$this->template->set_var('lang_edit',lang('Edit'));
|
||||
$this->template->set_var('lang_delete',lang('Delete'));
|
||||
$this->template->set_var('lang_parent',lang('Parent category'));
|
||||
$this->template->set_var('lang_none',lang('None'));
|
||||
$this->template->set_var('lang_name',lang('Name'));
|
||||
$this->template->set_var('lang_descr',lang('Description'));
|
||||
$this->template->set_var('lang_add',lang('Add'));
|
||||
$this->template->set_var('lang_reset',lang('Clear Form'));
|
||||
$this->template->set_var('lang_cancel',lang('Cancel'));
|
||||
$this->template->set_var('lang_done',lang('Done'));
|
||||
$this->template->set_var('lang_color',lang('Color'));
|
||||
$this->template->set_var('lang_icon',lang('Icon'));
|
||||
}
|
||||
|
||||
function index()
|
||||
{
|
||||
$link_data = array
|
||||
(
|
||||
'menuaction' => 'admin.uicategories.edit',
|
||||
'appname' => $this->appname
|
||||
);
|
||||
|
||||
if ($_POST['add'])
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php',$link_data);
|
||||
}
|
||||
|
||||
if ($_POST['done'])
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/admin/index.php');
|
||||
}
|
||||
|
||||
$this->template->set_file(array('cat_list_t' => 'listcats.tpl'));
|
||||
$this->template->set_block('cat_list_t','cat_list','list');
|
||||
if (!$this->acl_add)
|
||||
{
|
||||
$this->template->set_block('cat_list_t','add','addhandle');
|
||||
}
|
||||
if (!$this->acl_search)
|
||||
{
|
||||
$this->template->set_block('cat_list_t','search','searchhandle');
|
||||
}
|
||||
|
||||
$GLOBALS['egw_info']['flags']['app_header'] .= ' - '.lang('Global categories');
|
||||
$GLOBALS['egw']->common->egw_header();
|
||||
echo parse_navbar();
|
||||
$this->set_langs();
|
||||
$this->template->set_var('query',$this->query);
|
||||
|
||||
$link_data['menuaction'] = 'admin.uicategories.index';
|
||||
$this->template->set_var('action_url',$GLOBALS['egw']->link('/index.php',$link_data));
|
||||
|
||||
if(!$start)
|
||||
{
|
||||
$start = 0;
|
||||
}
|
||||
|
||||
$cats = $this->bo->get_list();
|
||||
if (!is_array($cats)) $cats = array();
|
||||
|
||||
$left = $this->nextmatchs->left('/index.php',$this->start,$this->bo->cats->total_records,$link_data);
|
||||
$right = $this->nextmatchs->right('/index.php',$this->start,$this->bo->cats->total_records,$link_data);
|
||||
$this->template->set_var('left',$left);
|
||||
$this->template->set_var('right',$right);
|
||||
|
||||
$this->template->set_var('lang_showing',$this->nextmatchs->show_hits($this->bo->cats->total_records,$this->start));
|
||||
|
||||
$this->template->set_var('sort_name',$this->nextmatchs->show_sort_order($this->sort,'cat_name',$this->order,'/index.php',lang('Name'),$link_data));
|
||||
$this->template->set_var('sort_description',$this->nextmatchs->show_sort_order($this->sort,'cat_description',$this->order,'/index.php',lang('Description'),$link_data));
|
||||
|
||||
$accountId = $GLOBALS['egw_info']['user']['account_id'];
|
||||
|
||||
foreach($cats as $cat)
|
||||
{
|
||||
$data = unserialize($cat['data']);
|
||||
|
||||
if ($data['color'])
|
||||
{
|
||||
$this->template->set_var('td_color',$data['color']);
|
||||
$gray = (hexdec(substr($data['color'],1,2))+hexdec(substr($data['color'],3,2))+hexdec(substr($data['color'],5,2)))/3;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->template->set_var('td_color','');
|
||||
//$this->nextmatchs->template_alternate_row_color($this->template);
|
||||
$gray = 255;
|
||||
}
|
||||
|
||||
//else
|
||||
//{
|
||||
$this->nextmatchs->template_alternate_row_color($this->template);
|
||||
$gray = 255;
|
||||
// }
|
||||
|
||||
$this->template->set_var('color',$gray < 128 ? 'style="color: white;"' : '');
|
||||
|
||||
$id = $cat['id'];
|
||||
$level = $cat['level'];
|
||||
$cat_name = $GLOBALS['egw']->strip_html($cat['name']);
|
||||
|
||||
if ($level > 0)
|
||||
{
|
||||
$space = ' ';
|
||||
$spaceset = str_repeat($space,$level);
|
||||
$cat_name = $spaceset . $cat_name;
|
||||
}
|
||||
|
||||
$descr = $GLOBALS['egw']->strip_html($cat['description']);
|
||||
if (!$descr) { $descr = ' '; }
|
||||
|
||||
if ($level == 0)
|
||||
{
|
||||
$cat_name = '<font color="FF0000"><b>' . $cat_name . '</b></font>';
|
||||
$descr = '<font color="FF0000"><b>' . $descr . '</b></font>';
|
||||
}
|
||||
|
||||
if ($this->appname && $cat['app_name'] == 'phpgw')
|
||||
{
|
||||
$appendix = ' ♦';
|
||||
}
|
||||
elseif ($cat['owner'] != $accountId)
|
||||
{
|
||||
if ($GLOBALS['egw_info']['user']['preferences']['common']['show_category_owner'])
|
||||
{
|
||||
$appendix = ' <' . $GLOBALS['egw']->accounts->id2name($cat['owner'], 'account_fullname') . '>';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$appendix = '';
|
||||
}
|
||||
|
||||
$this->template->set_var(array
|
||||
(
|
||||
'name' => $cat_name . $appendix,
|
||||
'descr' => $descr
|
||||
));
|
||||
|
||||
if ($this->acl_add_sub)
|
||||
{
|
||||
$link_data['menuaction'] = 'admin.uicategories.edit';
|
||||
$link_data['cat_parent'] = $id;
|
||||
unset($link_data['cat_id']);
|
||||
$this->template->set_var('add_sub','<a href="'.$GLOBALS['egw']->link('/index.php',$link_data).'">'.
|
||||
lang('Add sub').'</a>');
|
||||
}
|
||||
if ($this->appname && $cat['app_name'] == $this->appname)
|
||||
{
|
||||
$show_edit_del = True;
|
||||
}
|
||||
elseif(!$this->appname && $cat['app_name'] == 'phpgw')
|
||||
{
|
||||
$show_edit_del = True;
|
||||
}
|
||||
else
|
||||
{
|
||||
$show_edit_del = False;
|
||||
}
|
||||
|
||||
$link_data['cat_id'] = $id;
|
||||
unset($link_data['cat_parent']);
|
||||
if ($show_edit_del && $this->acl_edit)
|
||||
{
|
||||
$link_data['menuaction'] = 'admin.uicategories.edit';
|
||||
$this->template->set_var('edit','<a href="'.$GLOBALS['egw']->link('/index.php',$link_data).'">'.
|
||||
lang('Edit').'</a>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->template->set_var('edit','');
|
||||
}
|
||||
if ($show_edit_del && $this->acl_delete)
|
||||
{
|
||||
$link_data['menuaction'] = 'admin.uicategories.delete';
|
||||
$this->template->set_var('delete','<a href="'.$GLOBALS['egw']->link('/index.php',$link_data).'">'.
|
||||
lang('Delete').'</a>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->template->set_var('delete','');
|
||||
}
|
||||
|
||||
$data = unserialize($cat['data']);
|
||||
$icon = $data['icon'];
|
||||
$dir_img = $GLOBALS['egw_info']['server']['webserver_url'] . SEP . 'phpgwapi' . SEP . 'images' . SEP;
|
||||
|
||||
if (strlen($icon) > 0)
|
||||
$this->template->set_var('icon', "<img src='". $dir_img . $icon ."'>");
|
||||
else
|
||||
$this->template->set_var('icon', " ");
|
||||
|
||||
$this->template->fp('list','cat_list',True);
|
||||
}
|
||||
$link_data['menuaction'] = 'admin.uicategories.edit';
|
||||
unset($link_data['cat_id']);
|
||||
unset($link_data['cat_parent']);
|
||||
$this->template->set_var('add_action',$GLOBALS['egw']->link('/index.php',$link_data));
|
||||
|
||||
$this->save_sessiondata();
|
||||
$this->template->pfp('out','cat_list_t',True);
|
||||
}
|
||||
|
||||
function edit()
|
||||
{
|
||||
if (!preg_match('/^(#[0-9a-f]+|[a-z]+)?$/i',$_POST['cat_data']['color'])) unset($_POST['cat_data']['color']);
|
||||
if (!preg_match('/^[-_\.a-z0-9]+\.(png|gif|jpe?g)$/i',$_POST['cat_data']['icon'])) unset($_POST['cat_data']['icon']);
|
||||
$new_parent = (int)$_POST['new_parent'];
|
||||
$cat_parent = (int)$_POST['cat_parent'];
|
||||
$cat_name = $_POST['cat_name'];
|
||||
$cat_description = $_POST['cat_description'];
|
||||
$cat_data = $_POST['cat_data'];
|
||||
$old_parent = (int)$_POST['old_parent'];
|
||||
|
||||
if ($new_parent)
|
||||
{
|
||||
$cat_parent = $new_parent;
|
||||
}
|
||||
|
||||
$link_data = array
|
||||
(
|
||||
'menuaction' => 'admin.uicategories.index',
|
||||
'appname' => $this->appname
|
||||
);
|
||||
|
||||
if (!$this->acl_add && $cat_parent == 0 || !$this->acl_add_sub && $cat_parent != 0)
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php');
|
||||
}
|
||||
if ($_POST['cancel'] || $this->cat_id && !$this->acl_edit || $this->cat_id &&
|
||||
(!$this->acl_add && $cat_parent == 0 || !$this->acl_add_sub && $cat_parent != 0))
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php',$link_data);
|
||||
}
|
||||
|
||||
if ($_POST['save'])
|
||||
{
|
||||
$data = serialize($cat_data);
|
||||
|
||||
$values = array
|
||||
(
|
||||
'parent' => $cat_parent,
|
||||
'descr' => $cat_description,
|
||||
'name' => $cat_name,
|
||||
'access' => 'public',
|
||||
'data' => $data
|
||||
);
|
||||
if ($this->cat_id)
|
||||
{
|
||||
$values['id'] = $this->cat_id;
|
||||
$values['old_parent'] = $old_parent;
|
||||
}
|
||||
$error = $this->bo->check_values($values);
|
||||
if (is_array($error))
|
||||
{
|
||||
$this->template->set_var('message',$GLOBALS['egw']->common->error_list($error));
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->cat_id = $this->bo->save_cat($values);
|
||||
$GLOBALS['egw']->redirect_link('/index.php',$link_data);
|
||||
}
|
||||
}
|
||||
|
||||
$GLOBALS['egw_info']['flags']['app_header'] .= ' - '.($this->cat_id ? lang('Edit global category'):lang('Add global category'));
|
||||
|
||||
$this->set_langs();
|
||||
|
||||
$this->template->set_file(array('form' => 'category_form.tpl'));
|
||||
|
||||
if ($this->cat_id)
|
||||
{
|
||||
list($cat) = $this->bo->cats->return_single($this->cat_id);
|
||||
$cat['data'] = unserialize($cat['data']);
|
||||
}
|
||||
else
|
||||
{
|
||||
$cat = array();
|
||||
$cat['parent'] = $_GET['cat_parent'];
|
||||
}
|
||||
// update the old calendar color format, color was added to the description
|
||||
if (preg_match('/(#[0-9a-fA-F]{6})\n?$/',$cat['description'],$matches))
|
||||
{
|
||||
$cat['data']['color'] = $matches[1];
|
||||
$cat['description'] = str_replace($matches[1],'',$cat['description']);
|
||||
}
|
||||
|
||||
$hidden_vars = '<input type="hidden" name="cat_id" value="' . $this->cat_id . '">' . "\n" .
|
||||
'<input type="hidden" name="old_parent" value="' . $cat['parent'] . '">' . "\n";
|
||||
|
||||
$link_data['menuaction'] = 'admin.uicategories.edit';
|
||||
$link_data['cat_id'] = $this->cat_id;
|
||||
$this->template->set_var('action_url',$GLOBALS['egw']->link('/index.php',$link_data));
|
||||
|
||||
if ($this->acl_delete)
|
||||
{
|
||||
$link_data['menuaction'] = 'admin.uicategories.delete';
|
||||
|
||||
$this->template->set_var('delete','<form method="POST" action="' . $GLOBALS['egw']->link('/index.php',$link_data)
|
||||
. '"><input type="submit" value="' . lang('Delete') .'"></form>');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->template->set_var('delete',' ');
|
||||
}
|
||||
$this->template->set_var('cat_name',$GLOBALS['egw']->strip_html($cat['name']));
|
||||
$this->template->set_var('cat_description',$GLOBALS['egw']->strip_html($cat['description']));
|
||||
$this->template->set_var('category_list',$this->bo->cats->formatted_list(array('selected' => $cat['parent'],'self' => $this->cat_id)));
|
||||
|
||||
$this->template->set_var('color',html::inputColor('cat_data[color]',$cat['data']['color'],lang('Click to select a color')));
|
||||
|
||||
//$options = '<option value=""'.(!$cat['data']['icon'] ? ' selected="1"':'').'>'.lang('none')."</options>\n";
|
||||
|
||||
$options = '';
|
||||
$options = '<option value="">'.lang('none')."</options>\n";
|
||||
|
||||
foreach ($this->icons as $icon)
|
||||
{
|
||||
$options .= '<option value="'.$icon.'"'.($icon == $cat['data']['icon'] ? ' selected="1"':'').'>'.
|
||||
ucfirst(preg_replace('/\\.(png|gif|jpe?g)$/i','',$icon))."</option>\n";
|
||||
}
|
||||
$this->template->set_var('select_icon', '<select name="cat_data[icon]" onchange="document.images[\'icon\'].src=\''.$this->img_url.'\' + this.value;">'.$options."</select>\n");
|
||||
$this->template->set_var('icon','<img id="icon" src="'. $this->img_url.$cat['data']['icon'] .'">');
|
||||
|
||||
$already_done = array('icon','color');
|
||||
|
||||
if ($extra)
|
||||
{
|
||||
foreach(explode(',',$extra) as $i => $name)
|
||||
{
|
||||
$this->template->set_var('class',($i & 1) ? 'row_on' : 'row_off');
|
||||
$this->template->set_var('td_data','<input name="cat_data[' . htmlspecialchars($name) . ']" size="50" value="' . htmlspecialchars($cat['data'][$name]) . '">');
|
||||
$this->template->set_var('lang_data',lang($name));
|
||||
$this->template->fp('row','data_row',True);
|
||||
$already_done[] = $name;
|
||||
}
|
||||
}
|
||||
// preserv everything in the data array, not already shown via extra
|
||||
if (is_array($cat['data']))
|
||||
{
|
||||
foreach($cat['data'] as $name => $value)
|
||||
{
|
||||
if (!in_array($name,$already_done))
|
||||
{
|
||||
$hidden_vars .= '<input type="hidden" name="cat_data['.htmlspecialchars($name).']" value="' . htmlspecialchars($value) . '">';
|
||||
}
|
||||
}
|
||||
}
|
||||
$this->template->set_var('hidden_vars',$hidden_vars);
|
||||
|
||||
$GLOBALS['egw']->common->egw_header();
|
||||
echo parse_navbar();
|
||||
|
||||
$this->template->pfp('out','form');
|
||||
}
|
||||
|
||||
function delete()
|
||||
{
|
||||
if (!$this->acl_delete)
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php');
|
||||
}
|
||||
$link_data = array
|
||||
(
|
||||
'menuaction' => 'admin.uicategories.index',
|
||||
'appname' => $this->appname
|
||||
);
|
||||
|
||||
if (!$this->cat_id || $_POST['cancel'])
|
||||
{
|
||||
$GLOBALS['egw']->redirect_link('/index.php',$link_data);
|
||||
}
|
||||
|
||||
if ($_POST['confirm'])
|
||||
{
|
||||
if ($_POST['subs'])
|
||||
{
|
||||
$this->bo->delete($this->cat_id,True);
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->bo->delete($this->cat_id,False);
|
||||
}
|
||||
$GLOBALS['egw']->redirect_link('/index.php',$link_data);
|
||||
}
|
||||
$this->template->set_file(array('category_delete' => 'delete_cat.tpl'));
|
||||
|
||||
if ($this->appname)
|
||||
{
|
||||
$type = 'noglobalapp';
|
||||
}
|
||||
else
|
||||
{
|
||||
$type = 'noglobal';
|
||||
}
|
||||
|
||||
$apps_cats = $this->bo->exists(array
|
||||
(
|
||||
'type' => $type,
|
||||
'cat_name' => '',
|
||||
'cat_id' => $this->cat_id
|
||||
));
|
||||
|
||||
$GLOBALS['egw_info']['flags']['app_header'] .= ' - '.lang('Delete category');
|
||||
$GLOBALS['egw']->js->validate_file('jscode','openwindow','admin');
|
||||
$GLOBALS['egw']->common->egw_header();
|
||||
echo parse_navbar();
|
||||
|
||||
$hidden_vars = '<input type="hidden" name="cat_id" value="' . $this->cat_id . '">' . "\n";
|
||||
$this->template->set_var('hidden_vars',$hidden_vars);
|
||||
|
||||
$cats = $this->bo->cats->return_single($this->cat_id);
|
||||
$this->template->set_var('cat_name',$cat['name']);
|
||||
|
||||
if ($apps_cats)
|
||||
{
|
||||
$this->template->set_block('category_delete','delete','deletehandle');
|
||||
$this->template->set_var('messages',lang('This category is currently being used by applications as a parent category') . '<br>'
|
||||
. lang('You will need to remove the subcategories before you can delete this category'));
|
||||
|
||||
$this->template->set_var('lang_subs','');
|
||||
$this->template->set_var('subs','');
|
||||
$this->template->set_var('nolink',$nolink);
|
||||
$this->template->set_var('deletehandle','');
|
||||
$this->template->set_var('donehandle','');
|
||||
$this->template->set_var('lang_ok',lang('Ok'));
|
||||
$this->template->pfp('out','category_delete');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->template->set_block('category_delete','done','donehandle');
|
||||
$this->template->set_var('messages',lang('Are you sure you want to delete this category ?'));
|
||||
|
||||
$exists = $this->bo->exists(array
|
||||
(
|
||||
'type' => 'subs',
|
||||
'cat_name' => '',
|
||||
'cat_id' => $this->cat_id
|
||||
));
|
||||
|
||||
if ($exists)
|
||||
{
|
||||
$this->template->set_var('lang_subs',lang('Do you also want to delete all global subcategories ?'));
|
||||
$this->template->set_var('subs','<input type="checkbox" name="subs" value="True">');
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->template->set_var('lang_subs','');
|
||||
$this->template->set_var('subs', '');
|
||||
}
|
||||
|
||||
$link_data['menuaction'] = 'admin.uicategories.delete';
|
||||
$link_data['cat_id'] = $this->cat_id;
|
||||
$this->template->set_var('action_url',$GLOBALS['egw']->link('/index.php',$link_data));
|
||||
$this->template->set_var('lang_yes',lang('Yes'));
|
||||
$this->template->set_var('lang_no',lang('No'));
|
||||
$this->template->pfp('out','category_delete');
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
@ -47,7 +47,7 @@
|
||||
{
|
||||
$_POST['newsettings'] = $this->array_stripslashes($_POST['newsettings']);
|
||||
}
|
||||
|
||||
|
||||
switch($_GET['appname'])
|
||||
{
|
||||
case 'admin':
|
||||
@ -234,13 +234,9 @@
|
||||
$t->set_var($value,'');
|
||||
}
|
||||
break;
|
||||
case 'call': // eg. call_class::method or call_app.class.method
|
||||
$newval = str_replace(' ','_',$newval);
|
||||
$t->set_var($value,ExecMethod($newval,$c->config_data));
|
||||
break;
|
||||
default:
|
||||
$t->set_var($value,'');
|
||||
break;
|
||||
$t->set_var($value,'');
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -253,8 +249,8 @@
|
||||
|
||||
/**
|
||||
* applies stripslashes recursivly on each element of an array
|
||||
*
|
||||
* @param array &$var
|
||||
*
|
||||
* @param array &$var
|
||||
* @return array
|
||||
*/
|
||||
function array_stripslashes($var)
|
||||
|
@ -17,6 +17,8 @@
|
||||
|
||||
function index()
|
||||
{
|
||||
|
||||
$html =& CreateObject('phpgwapi.html');
|
||||
$section = $_POST['section'];
|
||||
$select_lang = $_POST['select_lang'];
|
||||
$message = get_magic_quotes_gpc() ? stripslashes($_POST['message']) : $_POST['message'];
|
||||
@ -118,17 +120,13 @@
|
||||
if ($_POST['no-htmlarea']) $current_message = strip_tags($current_message);
|
||||
if($_POST['htmlarea'] || strlen($current_message) > strlen(strip_tags($current_message)))
|
||||
{
|
||||
$text_or_htmlarea = html::fckEditorQuick('message','advanced',$current_message,'400px','800px');
|
||||
$htmlarea_button='<input type="submit" name="no-htmlarea" onclick="self.location.href=\''.$GLOBALS['egw']->link('/index.php',
|
||||
'menuaction=admin.uimainscreen.index&htmlarea=true').'\'" value="'.lang('disable WYSIWYG-editor').'">';
|
||||
$text_or_htmlarea=$html->htmlarea('message',$current_message,'advanced');
|
||||
$htmlarea_button='<input type="submit" name="no-htmlarea" onclick="self.location.href=\''.$GLOBALS['egw']->link('/index.php','menuaction=admin.uimainscreen.index&htmlarea=true').'\'" value="'.lang('disable WYSIWYG-editor').'">';
|
||||
}
|
||||
else
|
||||
{
|
||||
$text_or_htmlarea='<textarea name="message" style="width:100%; min-width:350px; height:300px;" wrap="virtual">' .
|
||||
html::htmlspecialchars($current_message) . '</textarea>';
|
||||
$htmlarea_button='<input type="submit" name="htmlarea" onclick="self.location.href=\''.
|
||||
$GLOBALS['egw']->link('/index.php','menuaction=admin.uimainscreen.index&htmlarea=true').'\'" value="'.
|
||||
lang('activate WYSIWYG-editor').'">';
|
||||
$text_or_htmlarea='<textarea name="message" style="width:100%; min-width:350px; height:300px;" wrap="virtual">' . $html->htmlspecialchars($current_message) . '</textarea>';
|
||||
$htmlarea_button='<input type="submit" name="htmlarea" onclick="self.location.href=\''.$GLOBALS['egw']->link('/index.php','menuaction=admin.uimainscreen.index&htmlarea=true').'\'" value="'.lang('activate WYSIWYG-editor').'">';
|
||||
|
||||
}
|
||||
|
||||
|
@ -84,7 +84,6 @@
|
||||
// create the html code for the menu
|
||||
function createHTMLCode($_hookname)
|
||||
{
|
||||
$hook['location'] = $_hookname;
|
||||
switch ($_hookname)
|
||||
{
|
||||
case 'edit_user':
|
||||
@ -93,7 +92,6 @@
|
||||
'url' => '/index.php',
|
||||
'extradata' => 'menuaction=admin.uiaccounts.edit_user'
|
||||
);
|
||||
if (get_var('account_id',array('GET','POST'))) $hook['account_id'] = get_var('account_id',array('GET','POST'));
|
||||
break;
|
||||
case 'view_user':
|
||||
$GLOBALS['menuData'][] = array(
|
||||
@ -101,7 +99,6 @@
|
||||
'url' => '/index.php',
|
||||
'extradata' => 'menuaction=admin.uiaccounts.view_user'
|
||||
);
|
||||
//if (get_var('account_id',array('GET','POST'))) $hook['account_id'] = get_var('account_id',array('GET','POST'));
|
||||
break;
|
||||
case 'edit_group':
|
||||
$GLOBALS['menuData'][] = array(
|
||||
@ -118,8 +115,8 @@
|
||||
);
|
||||
break;
|
||||
}
|
||||
//_debug_array($hook);
|
||||
$GLOBALS['egw']->hooks->process($hook);
|
||||
|
||||
$GLOBALS['egw']->hooks->process($_hookname);
|
||||
if (count($GLOBALS['menuData']) >= 1)
|
||||
{
|
||||
$result = $this->display_section($GLOBALS['menuData']);
|
||||
|
106
admin/inc/hook_sidebox_menu.inc.php
Normal file
106
admin/inc/hook_sidebox_menu.inc.php
Normal file
@ -0,0 +1,106 @@
|
||||
<?php
|
||||
/**************************************************************************\
|
||||
* eGroupWare *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Pim Snel <pim@lingewoud.nl> *
|
||||
* -------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
/* $Id$ */
|
||||
{
|
||||
|
||||
/*
|
||||
This hookfile is for generating an app-specific side menu used in the idots
|
||||
template set.
|
||||
|
||||
$menu_title speaks for itself
|
||||
$file is the array with link to app functions
|
||||
|
||||
display_sidebox can be called as much as you like
|
||||
*/
|
||||
|
||||
$menu_title = $GLOBALS['egw_info']['apps'][$appname]['title'] . ' '. lang('Menu');
|
||||
$file = array();
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('site_config_access',1,'admin'))
|
||||
{
|
||||
$file['Site Configuration'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiconfig.index&appname=admin');
|
||||
}
|
||||
/*
|
||||
if (! $GLOBALS['egw']->acl->check('peer_server_access',1,'admin'))
|
||||
{
|
||||
$file['Peer Servers'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiserver.list_servers');
|
||||
}
|
||||
*/
|
||||
if (! $GLOBALS['egw']->acl->check('account_access',1,'admin'))
|
||||
{
|
||||
$file['User Accounts'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccounts.list_users');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('group_access',1,'admin'))
|
||||
{
|
||||
$file['User Groups'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccounts.list_groups');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('applications_access',1,'admin'))
|
||||
{
|
||||
$file['Applications'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiapplications.get_list');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('global_categories_access',1,'admin'))
|
||||
{
|
||||
$file['Global Categories'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uicategories.index');
|
||||
}
|
||||
|
||||
if (!$GLOBALS['egw']->acl->check('mainscreen_message_access',1,'admin') || !$GLOBALS['egw']->acl->check('mainscreen_message_access',2,'admin'))
|
||||
{
|
||||
$file['Change Main Screen Message'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uimainscreen.index');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('current_sessions_access',1,'admin'))
|
||||
{
|
||||
$file['View Sessions'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uicurrentsessions.list_sessions');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('access_log_access',1,'admin'))
|
||||
{
|
||||
$file['View Access Log'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiaccess_history.list_history');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('error_log_access',1,'admin'))
|
||||
{
|
||||
$file['View Error Log'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uilog.list_log');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('applications_access',16,'admin'))
|
||||
{
|
||||
$file['Find and Register all Application Hooks'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiapplications.register_all_hooks');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('asyncservice_access',1,'admin'))
|
||||
{
|
||||
$file['Asynchronous timed services'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.uiasyncservice.index');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('db_backup_access',1,'admin'))
|
||||
{
|
||||
$file['DB backup and restore'] = $GLOBALS['egw']->link('/index.php','menuaction=admin.admin_db_backup.index');
|
||||
}
|
||||
|
||||
if (! $GLOBALS['egw']->acl->check('info_access',1,'admin'))
|
||||
{
|
||||
$file['phpInfo'] = "javascript:openwindow('" . $GLOBALS['egw']->link('/admin/phpinfo.php') . "')";
|
||||
}
|
||||
|
||||
if($GLOBALS['egw_info']['flags']['currentapp'] =='admin')
|
||||
{
|
||||
$menu_title = 'Administration';
|
||||
$file = array();
|
||||
|
||||
display_sidebox($appname,$menu_title,$file);
|
||||
}
|
||||
}
|
183
admin/index.php
183
admin/index.php
@ -1,102 +1,107 @@
|
||||
<?php
|
||||
/**
|
||||
* EGgroupware administration
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @author Joseph Engo <jengo@phpgroupware.org>
|
||||
* @author Stephen Brown <steve@dataclarity.net> distribute admin across the application directories
|
||||
* @package admin
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @version $Id$
|
||||
*/
|
||||
/**************************************************************************\
|
||||
* eGroupWare - administration *
|
||||
* http://www.egroupware.org *
|
||||
* Written by Joseph Engo <jengo@phpgroupware.org> *
|
||||
* Modified by Stephen Brown <steve@dataclarity.net> *
|
||||
* to distribute admin across the application directories *
|
||||
* -------------------------------------------- *
|
||||
* This program is free software; you can redistribute it and/or modify it *
|
||||
* under the terms of the GNU General Public License as published by the *
|
||||
* Free Software Foundation; either version 2 of the License, or (at your *
|
||||
* option) any later version. *
|
||||
\**************************************************************************/
|
||||
|
||||
$GLOBALS['egw_info'] = array(
|
||||
'flags' => array(
|
||||
'currentapp' => 'admin',
|
||||
'noheader' => true,
|
||||
),
|
||||
);
|
||||
include('../header.inc.php');
|
||||
/* $Id$ */
|
||||
|
||||
admin_statistics::check();
|
||||
common::egw_header();
|
||||
$GLOBALS['egw_info'] = array(
|
||||
'flags' => array(
|
||||
'currentapp' => 'admin',
|
||||
'noheader' => true,
|
||||
),
|
||||
);
|
||||
include('../header.inc.php');
|
||||
|
||||
$GLOBALS['admin_tpl'] =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
|
||||
$GLOBALS['admin_tpl']->set_file(
|
||||
Array(
|
||||
'admin' => 'index.tpl'
|
||||
)
|
||||
);
|
||||
admin_statistics::check();
|
||||
common::egw_header();
|
||||
|
||||
$GLOBALS['admin_tpl']->set_block('admin','list');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','app_row');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','app_row_noicon');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','link_row');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','spacer_row');
|
||||
$GLOBALS['admin_tpl'] =& CreateObject('phpgwapi.Template',EGW_APP_TPL);
|
||||
$GLOBALS['admin_tpl']->set_file(
|
||||
Array(
|
||||
'admin' => 'index.tpl'
|
||||
)
|
||||
);
|
||||
|
||||
$GLOBALS['admin_tpl']->set_var('title',lang('Administration'));
|
||||
$GLOBALS['admin_tpl']->set_block('admin','list');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','app_row');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','app_row_noicon');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','link_row');
|
||||
$GLOBALS['admin_tpl']->set_block('admin','spacer_row');
|
||||
|
||||
// This func called by the includes to dump a row header
|
||||
function section_start($appname='',$icon='')
|
||||
{
|
||||
$GLOBALS['admin_tpl']->set_var('link_backcolor',$GLOBALS['egw_info']['theme']['row_off']);
|
||||
$GLOBALS['admin_tpl']->set_var('app_name',$GLOBALS['egw_info']['apps'][$appname]['title']);
|
||||
$GLOBALS['admin_tpl']->set_var('a_name',$appname);
|
||||
$GLOBALS['admin_tpl']->set_var('app_icon',$icon);
|
||||
if ($icon)
|
||||
$GLOBALS['admin_tpl']->set_var('title',lang('Administration'));
|
||||
|
||||
// This func called by the includes to dump a row header
|
||||
function section_start($appname='',$icon='')
|
||||
{
|
||||
$GLOBALS['admin_tpl']->parse('rows','app_row',True);
|
||||
}
|
||||
else
|
||||
{
|
||||
$GLOBALS['admin_tpl']->parse('rows','app_row_noicon',True);
|
||||
}
|
||||
}
|
||||
|
||||
function section_item($pref_link='',$pref_text='')
|
||||
{
|
||||
$GLOBALS['admin_tpl']->set_var('pref_link',$pref_link);
|
||||
$GLOBALS['admin_tpl']->set_var('pref_text',$pref_text);
|
||||
$GLOBALS['admin_tpl']->parse('rows','link_row',True);
|
||||
}
|
||||
|
||||
function section_end()
|
||||
{
|
||||
$GLOBALS['admin_tpl']->parse('rows','spacer_row',True);
|
||||
}
|
||||
|
||||
function display_section($appname,$file,$file2=False)
|
||||
{
|
||||
if ($file2)
|
||||
{
|
||||
$file = $file2;
|
||||
}
|
||||
if(is_array($file))
|
||||
{
|
||||
section_start($appname,
|
||||
common::image(
|
||||
$appname,
|
||||
Array(
|
||||
'navbar',
|
||||
$appname,
|
||||
'nonav'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
while(list($text,$url) = each($file))
|
||||
$GLOBALS['admin_tpl']->set_var('link_backcolor',$GLOBALS['egw_info']['theme']['row_off']);
|
||||
$GLOBALS['admin_tpl']->set_var('app_name',$GLOBALS['egw_info']['apps'][$appname]['title']);
|
||||
$GLOBALS['admin_tpl']->set_var('a_name',$appname);
|
||||
$GLOBALS['admin_tpl']->set_var('app_icon',$icon);
|
||||
if ($icon)
|
||||
{
|
||||
// If user doesn't have application configuration access, then don't show the configuration links
|
||||
if (strpos($url, 'admin.uiconfig') === False || !$GLOBALS['egw']->acl->check('site_config_access',1,'admin'))
|
||||
{
|
||||
section_item($url,lang($text));
|
||||
}
|
||||
$GLOBALS['admin_tpl']->parse('rows','app_row',True);
|
||||
}
|
||||
else
|
||||
{
|
||||
$GLOBALS['admin_tpl']->parse('rows','app_row_noicon',True);
|
||||
}
|
||||
section_end();
|
||||
}
|
||||
}
|
||||
|
||||
$GLOBALS['egw']->hooks->process('admin',array('admin'));
|
||||
$GLOBALS['admin_tpl']->pparse('out','list');
|
||||
function section_item($pref_link='',$pref_text='')
|
||||
{
|
||||
$GLOBALS['admin_tpl']->set_var('pref_link',$pref_link);
|
||||
$GLOBALS['admin_tpl']->set_var('pref_text',$pref_text);
|
||||
$GLOBALS['admin_tpl']->parse('rows','link_row',True);
|
||||
}
|
||||
|
||||
common::egw_footer();
|
||||
function section_end()
|
||||
{
|
||||
$GLOBALS['admin_tpl']->parse('rows','spacer_row',True);
|
||||
}
|
||||
|
||||
function display_section($appname,$file,$file2=False)
|
||||
{
|
||||
if ($file2)
|
||||
{
|
||||
$file = $file2;
|
||||
}
|
||||
if(is_array($file))
|
||||
{
|
||||
section_start($appname,
|
||||
$GLOBALS['egw']->common->image(
|
||||
$appname,
|
||||
Array(
|
||||
'navbar',
|
||||
$appname,
|
||||
'nonav'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
||||
while(list($text,$url) = each($file))
|
||||
{
|
||||
// If user doesn't have application configuration access, then don't show the configuration links
|
||||
if (strpos($url, 'admin.uiconfig') === False || !$GLOBALS['egw']->acl->check('site_config_access',1,'admin'))
|
||||
{
|
||||
section_item($url,lang($text));
|
||||
}
|
||||
}
|
||||
section_end();
|
||||
}
|
||||
}
|
||||
|
||||
$GLOBALS['egw']->hooks->process('admin');
|
||||
$GLOBALS['admin_tpl']->pparse('out','list');
|
||||
|
||||
$GLOBALS['egw']->common->egw_footer();
|
||||
?>
|
||||
|
@ -1,519 +0,0 @@
|
||||
%1 - %2 of %3 user accounts admin sk %1 - %2 z %3 používateľských účtov
|
||||
%1 - %2 of %3 user groups admin sk %1 - %2 z %3 používateľských skupín
|
||||
%1 acl records of not (longer) existing accounts deleted. admin sk Boli odstránené ACL záznamy už neexistujúcich účtov. Počet odstránených záznamov: %1.
|
||||
%1 class not instanciated admin sk %1 trieda nie je inštancionalizovaná
|
||||
%1 group %2 admin sk %1 skupina %2
|
||||
%1 is no command! admin sk %1 nie je príkaz!
|
||||
%1 log entries deleted. admin sk %1 položiek záznamu bolo zmazaných.
|
||||
%1 not found or not executable !!! admin sk %1 sa nenašiel alebo nie je spustiteľný !!!
|
||||
%1 rights for %2 and applications %3 admin sk %1 práva pre %2 a aplikácie %3
|
||||
%1 user %2 admin sk %1 používateľ %2
|
||||
(default no, leave it off if you dont use it) admin sk (zvyčajne Nie; ak to nepoužívate, ponechajte prázdne)
|
||||
(stored password will not be shown here) admin sk (Uložené heslá sa tu nezobrazia)
|
||||
(to install new applications use<br><a href="setup/" target="setup">setup</a> [manage applications] !!!) admin sk (Pre nainštalovanie nových aplikácií použite<br><a href="setup/" target="setup">Inštalátor</a> [Správa aplikácií] !!!)
|
||||
- type admin sk - typ
|
||||
accesslog and bruteforce defense admin sk Prístupové záznamy a Ochrana proti útoku hrubou silou
|
||||
account %1 %2 admin sk Účet %1 %2
|
||||
account '%1' deleted. admin sk Účet '%1' bol zmazaný.
|
||||
account active admin sk Platnosť účtu
|
||||
account has been created common sk Účet bol vytvorený
|
||||
account has been deleted common sk Účet bol odstránený
|
||||
account has been updated common sk Účet bol aktualizovaný
|
||||
account list admin sk Zoznam účtov
|
||||
account permissions admin sk Prístupové oprávnenia účtu
|
||||
account preferences admin sk Predvoľby účtu
|
||||
account-id's have to be integers! admin sk ID účtov musia byť celé čísla!
|
||||
acl manager admin sk Správa prístupov (ACL)
|
||||
acl rights common sk Prístupové práva (ACL)
|
||||
action admin sk Akcia
|
||||
activate wysiwyg-editor admin sk zapni WYSIWYG-editor
|
||||
add a category admin sk pridať kategóriu
|
||||
add a group admin sk pridať skupinu
|
||||
add a new account. admin sk Pridať nový účet.
|
||||
add a new remote instance admin sk Pridať novú vzdialenú inštanciu
|
||||
add a subcategory admin sk pridať podkategóriu
|
||||
add a user admin sk pridať používateľa
|
||||
add account admin sk Pridať účet
|
||||
add application admin sk Pridať aplikáciu
|
||||
add auto-created users to this group ('default' will be attempted if this is empty.) admin sk Pridať automaticky vytvorených používateľov do tejto skupiny (Ak je prázdne, použije sa predvolená.)
|
||||
add global category admin sk Pridať globálnu kategóriu
|
||||
add global category for %1 admin sk Pridať globálnu kategóriu pre %1
|
||||
add group admin sk Pridať skupinu
|
||||
add new account admin sk Pridať nový účet
|
||||
add new application admin sk Pridať novú aplikáciu
|
||||
add peer server admin sk Pridať peer server
|
||||
add sub-category admin sk Pridať podkategóriu
|
||||
admin email admin sk Správcova E-mailová adresa
|
||||
admin email addresses (comma-separated) to be notified about the blocking (empty for no notify) admin sk Správcova E-mailová adresa (oddelené čiarkou), kde sa má zasielať upozornenie o blokovaní (ponechajte prázdne, ak nechcete zasielať upozornenia)
|
||||
admin name admin sk Meno správcu
|
||||
admin queue and history admin sk Správcova fronta a história
|
||||
administration admin sk Správa
|
||||
admins admin sk Správcovia
|
||||
advanced options admin sk Rozšírené možnosti
|
||||
after how many unsuccessful attempts to login, an account should be blocked (default 3) ? admin sk Po koľkých neúspešných pokusoch o prihlásenie sa má účet zablokovať (predvolené: 3)?
|
||||
after how many unsuccessful attempts to login, an ip should be blocked (default 3) ? admin sk Po koľkých neúspešných pokusoch o prihlásenie sa má IP zablokovať (predvolené: 3)?
|
||||
aliases admin sk Aliasy
|
||||
all records and account information will be lost! admin sk Všetky záznamy a informácie o účtoch sa stratia!
|
||||
all users admin sk Všetci používatelia
|
||||
allow anonymous access to this app admin sk Povoliť anonymnému používateľovi prístup k tejto aplikácii
|
||||
allow remote administration from following install id's (comma separated) admin sk Povoliť vzdialenú správu z nasledovných ID inštalácie (oddelené čiarkou)
|
||||
alternate email address admin sk alternatívna E-mailová adresa
|
||||
anonymous user admin sk Anonymný používateľ
|
||||
anonymous user (not shown in list sessions) admin sk Anonymný používateľ (nezobrazuje sa na zozname relácií)
|
||||
anonymous user does not exist! admin sk Anonymný používateľ NEexistuje!
|
||||
anonymous user has no run-rights for the application! admin sk Anonymný používateľ NEMÁ právo spustiť túto aplikáciu!
|
||||
appearance admin sk Vzhľad
|
||||
application admin sk Aplikácia
|
||||
application '%1' not found (maybe not installed or misspelled)! admin sk Aplikácia '%1' sa nenašla (možno nie je nainštalovaná, alebo je chybne uvedený názov)!
|
||||
application name admin sk Názov aplikácie
|
||||
application title admin sk Titulok aplikácie
|
||||
applications admin sk Aplikácie
|
||||
applications list admin sk Zoznam aplikácií
|
||||
applications run rights updated. admin sk Aplikácie bežia s aktualizovanými právami.
|
||||
applies the changes admin sk vykoná zmeny
|
||||
apply the changes admin sk Vykonať zmeny
|
||||
are you sure you want to delete the application %1 ? admin sk Ste si istí, že chcete odstrániť aplikáciu %1 ?
|
||||
are you sure you want to delete this account ? admin sk Naozaj chcete odstrániť tento účet?
|
||||
are you sure you want to delete this application ? admin sk Naozaj chcete odstrániť túto aplikáciu?
|
||||
are you sure you want to delete this category ? common sk Naozaj chcete odstrániť túto kategóriu?
|
||||
are you sure you want to delete this global category ? admin sk Naozaj chcete odstrániť túto globálnu kategóriu?
|
||||
are you sure you want to delete this group ? admin sk Naozaj chcete odstrániť túto skupinu?
|
||||
are you sure you want to delete this server? admin sk Naozaj chcete odstrániť tento server?
|
||||
are you sure you want to kill this session ? admin sk Naozaj chcete ukončiť túto reláciu?
|
||||
async services last executed admin sk Asynchrónne služby naposledy spustené
|
||||
asynchronous timed services admin sk Asynchrónne časované služby
|
||||
asyncservices not yet installed or other error (%1) !!! admin sk Asyncslužby zatiaľ nie sú nainštalované, alebo iná chyba (%1) !!!
|
||||
attempt to use correct mimetype for ftp instead of default 'application/octet-stream' admin sk Pokúsiť sa použiť korektný MIME typ pre FTP namiesto predvoleného 'application/octet-stream'
|
||||
attribute accountstatus explained admin sk Toto zabezpečuje príznak <b><i>-accountStatus-</i></b> zo schémy QMAIL.
|
||||
attribute mail explained admin sk Toto zabezpečuje príznak <b><i>-mail-</i></b> zo schémy QMAIL, pole nesmie byť prázdne. Je to taktiež pole interného E-mailu eGW.
|
||||
attribute mailalternateaddress explained admin sk Toto zabezpečuje príznak <b><i>-mailAlternateAddress-</i></b> zo schémy QMAIL a môže byť použitý ako virtuálne mapy alebo aliasy.
|
||||
attribute mailforwardingaddress explained admin sk Toto zabezpečuje príznak <b><i>-mailForwardingAddress-</i></b> zo schémy QMAIL, pole nesmie byť prázdne ak je priradené.
|
||||
authentication / accounts admin sk Overovanie / Účty
|
||||
auto create account records for authenticated users admin sk Automaticky vytvoriť záznamy pre overených používateľov
|
||||
back to the list admin sk naspäť na zoznam
|
||||
bi-dir passthrough admin sk obojsmerné prepojenie
|
||||
bi-directional admin sk obojsmerné
|
||||
bottom admin sk naspodku
|
||||
calculate next run admin sk Vypočítať ďalší prechod
|
||||
can change password admin sk Môže zmeniť heslo
|
||||
cancel testjob! admin sk Zrušiť testovaciu úlohu!
|
||||
cancel this scheduled command admin sk Zrušiť tento naplánovaný príkaz
|
||||
categories list admin sk Zoznam kategórií
|
||||
category %1 has been saved ! admin sk Kategória %1 bola uložená !
|
||||
category list admin sk Zoznam kategórií
|
||||
change account_id admin sk Zmeniť ID účtu
|
||||
change acl rights admin sk zmeniť prístupové (ACL) práva
|
||||
change config settings admin sk Zmeniť voľby nastanení
|
||||
change main screen message admin sk Zmeniť správu zobrazovanú na hlavnej stránke
|
||||
change password for %1 admin sk zmeniť heslo pre %1
|
||||
check acl for entries of not (longer) existing accounts admin sk Skontrolovať ACL na záznamy už neexistujúcich účtov
|
||||
check ip address of all sessions admin sk Skontrolovať IP adresu všetkých relácií
|
||||
check items to <b>%1</b> to %2 for %3 admin sk Skontrolovať položky po <b>%1</b> po %2 pre %3
|
||||
click to select a color admin sk Ak chcete vybrať farbu, kliknite sem
|
||||
color admin sk Farba
|
||||
command scheduled to run at %1 admin sk Príkaz bol zaradený na vykonanie o %1
|
||||
cookie domain (default empty means use full domain name, for sitemgr eg. ".domain.com" allows to use the same cookie for egw.domain.com and www.domain.com) admin sk Doména cookie (predvolené prázdne znamená, že sa použije plné doménové meno, pre SiteMgr napr. ".domain.com" povoľuje použitie tej istej cookie pre egw.domain.com a www.domain.com)
|
||||
cookie path (allows multiple egw sessions with different directories, has problemes with sitemgr!) admin sk Cesta Cookie (umožňuje viacero relácií eGW s rozličnými adresármi, avšak sú tu problémy so SiteMgr!)
|
||||
could not remote execute the command admin sk Nepodarilo sa vzdialene spustiť tento príkaz
|
||||
country selection admin sk Výber krajiny
|
||||
create group admin sk Vytvoriť skupinu
|
||||
created admin sk Vytvorený
|
||||
created with id #%1 admin sk vytvorené s IS #%1
|
||||
creates a new field admin sk vytvorí nové pole
|
||||
crontab only (recomended) admin sk iba crontab (odporúča sa)
|
||||
custom fields admin sk Vlastné polia
|
||||
cyrus imap server admin sk Cyrus IMAP Server
|
||||
data admin sk Údaje
|
||||
day admin sk Deň
|
||||
day of week<br>(0-6, 0=sun) admin sk Deň v týždni<br>(0-6, 0=Ned)
|
||||
db backup and restore admin sk Záloha a obnova databáz
|
||||
default admin sk Predvolené
|
||||
default file system space per user admin sk Predvolený priestor v súborovom systéme na používateľa
|
||||
default file system space per user/group ? admin sk Predvolený priestor v súborovom systéme na používateľa/skupinu?
|
||||
deinstall crontab admin sk Odinštalovať crontab
|
||||
delete account admin sk Odstrániť účet
|
||||
delete account %1 admin sk Odstrániť účet %1
|
||||
delete all records admin sk Odstrániť všetky záznamy
|
||||
delete application admin sk Odstrániť aplikáciu
|
||||
delete category admin sk Odstrániť kategóriu
|
||||
delete group admin sk Odstrániť skupinu
|
||||
delete peer server admin sk Odstrániť peer server
|
||||
delete selected entries admin sk Odstrániť označené položky
|
||||
delete the category admin sk odstráň kategóriu
|
||||
delete the group admin sk odstráň skupinu
|
||||
delete this category admin sk odstráň túto kategóriu
|
||||
delete this group admin sk odstráň túto skupinu
|
||||
delete this log entry admin sk Odstrániť túto položku záznamu
|
||||
delete this user admin sk odstráň tohto používateľa
|
||||
deletes this field admin sk odstráni túto položku
|
||||
deliver extern admin sk doručiť extern
|
||||
deny access to access log admin sk Zakáž prístup do prístupových záznamov
|
||||
deny access to application registery admin sk Zakáž prístup do registrov aplikácie
|
||||
deny access to applications admin sk Zakáž prístup do aplikácií
|
||||
deny access to asynchronous timed services admin sk Zakáž prístup do asynchrónnych časovaných služieb
|
||||
deny access to current sessions admin sk Zakáž prístup do aktuálnych relácií
|
||||
deny access to db backup and restore admin sk Zakáž prístup k zálohe a obnove databáz
|
||||
deny access to error log admin sk Zakáž prístup do chybových záznamov
|
||||
deny access to global categories admin sk Zakáž prístup do globálnych kategórií
|
||||
deny access to groups admin sk Zakáž prístup do skupín
|
||||
deny access to mainscreen message admin sk Zakáž prístup do textu správy na hlavnej stránke
|
||||
deny access to peer servers admin sk Zakáž prístup k peer serverom
|
||||
deny access to phpinfo admin sk Zakáž prístup do phpinfo
|
||||
deny access to site configuration admin sk Zakáž prístup do nastavení stránky
|
||||
deny access to user accounts admin sk Zakáž prístup do používateľských účtov
|
||||
deny all users access to grant other users access to their entries ? admin sk Zakázať všetkým používateľom možnosť prideliť iným používateľom prístup k ich záznamom?
|
||||
description can not exceed 255 characters in length ! admin sk Dĺžka popisu nemôže presiahnuť 255 znakov!
|
||||
determines the order the fields are displayed admin sk určuje poradie, v akom sa položky zobrazujú
|
||||
disable "auto completion" of the login form admin sk Vypnúť automatické dopĺňanie v prihlasovacej stránke
|
||||
disable wysiwyg-editor admin sk vypnúť WYSIWYG-editor
|
||||
disabled (not recomended) admin sk vypnuté (neodporúča sa)
|
||||
display admin sk Zobraziť
|
||||
do not delete the category and return back to the list admin sk NEodstraňovať túto kategóriu a vrátiť sa naspäť do zoznamu
|
||||
do you also want to delete all global subcategories ? admin sk Chcete zároveň odstrániť všetky globálne podkategórie?
|
||||
do you want to delete all global subcategories ? admin sk Chcete odstrániť všetky globálne podkategórie?
|
||||
do you want to move all global subcategories one level down ? admin sk Chcete presunúť všetky globálne podkategórie o jednu úroveň nižšie?
|
||||
document root (default) admin sk Koreňový adresár dokumentov
|
||||
each value is a line like <id>[=<label>] admin sk každá hodnota je riadok ako <id>[=<label>]
|
||||
each value is a line like id[=label] admin sk každá hodnota je riadok ako <id>[=<label>]
|
||||
edit account admin sk Upraviť účet
|
||||
edit application admin sk Upraviť aplikáciu
|
||||
edit email settings admin sk upraviť nastavenia E-mailu
|
||||
edit global category admin sk Upraviť globálnu kategóriu
|
||||
edit global category for %1 admin sk Upraviť globálnu kategóriu pre %1
|
||||
edit group admin sk Upraviť skupinu
|
||||
edit group acl's admin sk upraviť prístupové práva (ACL) skupiny
|
||||
edit login screen message admin sk Upraviť text správy prihlasovacej stránky
|
||||
edit main screen message admin sk Upraviť text správy hlavnej stránky
|
||||
edit peer server admin sk Upraviť peer server
|
||||
edit table format admin sk Upraviť formát tabuľky
|
||||
edit this category admin sk uprav túto kategóriu
|
||||
edit this group admin sk uprav túto skupinu
|
||||
edit this user admin sk uprav tohoto používateľa
|
||||
edit user admin sk uprav používateľa
|
||||
edit user account admin sk Upraviť používateľský účet
|
||||
egroupware directory admin sk adresár eGroupWare
|
||||
either install id and config password needed or the remote hash! admin sk Je potrebné buď ID inštalácie A heslo konfigurátora, ALEBO vzdialený hash!
|
||||
email account active admin sk E-mailový účet je aktívny
|
||||
email address admin sk E-mailová adresa
|
||||
enable debug-messages admin sk Zapnúť ladiace správy
|
||||
enable the soap service admin sk Zapnúť službu SOAP
|
||||
enable the spellcheck in the ritch text editor ? admin sk Zapnúť kontrolu pravopisu v textovom editore?
|
||||
enable the xmlrpc service admin sk Zapnúť službu XMLRPC
|
||||
enabled - hidden from navbar admin sk Zapnuté - Skryté v navigačnom paneli
|
||||
enabled - popup window admin sk Zapnuté - Vyskakovacie okno
|
||||
enter a description for the category admin sk zadajte opis tejto kategórie
|
||||
enter some random text for app_session <br>encryption (requires mcrypt) admin sk Zadajte náhodný text pre app_session <br>kryptovanie (vyžaduje mcrypt)
|
||||
enter the background color for the login page admin sk Zadajte farbu pozadia prihlasovacej stránky
|
||||
enter the background color for the site title admin sk Zadajte farbu pozadia nadpisu stránky
|
||||
enter the full path for temporary files.<br>examples: /tmp, c:\temp admin sk Zadajte úplnú cestu pre dočasné súbory.<br>Príklady: /tmp, C:\TEMP
|
||||
enter the full path for temporary files.<br>examples: /tmp, c:temp admin sk Zadajte úplnú cestu pre dočasné súbory.<br>Príklady: /tmp, C:\TEMP
|
||||
enter the full path for users and group files.<br>examples: /files, e:\files admin sk Zadajte úplnú cestu pre súbory používateľov a skupiny.<br>Príklady: /files, E:\FILES
|
||||
enter the full path for users and group files.<br>examples: /files, e:files admin sk Zadajte úplnú cestu pre súbory používateľov a skupiny.<br>Príklady: /files, E:\FILES
|
||||
enter the hostname of the machine on which this server is running admin sk Zadajte názov stroja (hostname) na ktorom beží tento server
|
||||
enter the location of egroupware's url.<br>example: http://www.domain.com/egroupware or /egroupware<br><b>no trailing slash</b> admin sk Zadajte URL adresu pre eGroupWare.<br>Príklad: http://www.domain.com/egroupware alebo /egroupware<br><b>Bez ukončovacieho lomítka</b>
|
||||
enter the search string. to show all entries, empty this field and press the submit button again admin sk Zadajte reťazec pre vyhľadávanie. Pre zobrazenie všetkých záznamov, vyčistite toto pole a stlačte znovu tlačítko ODOSLAŤ
|
||||
enter the site password for peer servers admin sk Zadajte heslo stránky pre peer servre
|
||||
enter the site username for peer servers admin sk Zadajte používateľské meno stránky pre peer servre
|
||||
enter the title for your site admin sk Zadajte nadpis Vašej stránky
|
||||
enter the title of your logo admin sk Zadajte titulok Vášho loga
|
||||
enter the url or filename (in phpgwapi/templates/default/images) of your logo admin sk Zadajte URL adresu alebo názov súboru Vášho loga (v phpgwapi/templates/default/images)
|
||||
enter the url or filename (in your templates image directory) of your favicon (the little icon that appears in the browsers tabs) admin sk Zadajte URL alebo názov súboru (v adresári šablónového obrazu) vašej favikony (tej malej ikonky ktorá sa objavuje na kartách prehliadača)
|
||||
enter the url where your logo should link to admin sk Zadajte URL adresu, kam má smerovať odkaz pod Vaším logom
|
||||
enter the vfs-path where additional images, icons or logos can be placed (and found by egroupwares applications). the path must start with /,and be readable by all users admin sk Zadajte VFP cestu, kde sa môžu ukladať ďalšie obrázky, ikony alebo logá (a použiť v aplikáciách EGroupware). Cesta MUSÍ byť čitateľná pre všetkých a začínať /
|
||||
enter your default ftp server admin sk Zadajte Váš predvolený FTP server
|
||||
enter your default mail domain ( from: user@domain ) admin sk Zadajte Vašu predvolenú mailovú doménu ( Z tvaru: user@domain )
|
||||
enter your http proxy server admin sk Zadajte Váš HTTP proxy server
|
||||
enter your http proxy server port admin sk Zadajte port Vášho HTTP proxy servera
|
||||
enter your smtp server hostname or ip address admin sk Zadajte názov (hostname) alebo IP adresu Vášho SMTP servera
|
||||
enter your smtp server port admin sk Zadajte port Vášho SMTP servera
|
||||
error canceling timer, maybe there's none set !!! admin sk Chyba pri rušení časovača, možnože nie je žiadny nastavený !!!
|
||||
error changing the password for % !!! admin sk Chyba pri zmene hesla pre % !!!
|
||||
error changing the password for %1 !!! admin sk Chyba pri zmene hesla pre %1 !!!
|
||||
error deleting log entry! admin sk Chyba pri mazaní položky záznamu!
|
||||
error saving admin sk Chyba pri ukladaní
|
||||
error saving account! admin sk Chyba pri ukladaní účtu!
|
||||
error saving the command! admin sk Chyba pri ukladaní príkazu!
|
||||
error saving to db: admin sk Chyba pri ukladaní do db:
|
||||
error setting timer, wrong syntax or maybe there's one already running !!! admin sk Chyba pri nastavovaní časovača, chybná syntax alebo možno už nejaký beží !!!
|
||||
error! no appname found admin sk CHYBA! Nenašiel sa názov aplikácie
|
||||
error: %1 not found or other error !!! admin sk Chyba: %1 sa nenašiel, alebo iná chyba !!!
|
||||
expires admin sk Vyprší
|
||||
explanation of ldapman admin sk Tento modul bol testovaný doposiaľ pre POSTFIX, LDAP, Courier-IMAP a vyžaduje schémy CORE a QMAIL (OID7914). Podrobnosti o používaní a nastavení tohto systému nájdete v README.ldapman v doc adresári ADMIN-a.
|
||||
fallback (after each pageview) admin sk návrat (po každom zobrazení stránky)
|
||||
false admin sk Nepravda
|
||||
field '%1' already exists !!! admin sk Pole '%1' už existuje
|
||||
file space admin sk Priestor pre súbory
|
||||
file space must be an integer admin sk Priestor pre súbory musí byť celé číslo
|
||||
find and register all application hooks admin sk Nájdi a zaregistruj všetky aplikácie
|
||||
for the times above admin sk pre vyššieuvedené časy
|
||||
for the times below (empty values count as '*', all empty = every minute) admin sk pre nižšieuvedené časy (prázdne hodnoty sa berú ako '*', všetky prázdne = každú minútu)
|
||||
force selectbox admin sk Vynútiť ponuku pre výber
|
||||
forward also to admin sk Preposlať ešte (komu)
|
||||
forward emails to admin sk Preposlať správy (komu)
|
||||
forward only admin sk Iba preposlať
|
||||
global categories common sk Globálne kategórie
|
||||
grant admin sk Prideliť
|
||||
group ? admin sk skupina ?
|
||||
group has been added common sk Skupina bola pridaná
|
||||
group has been deleted common sk Skupina bola odstránená
|
||||
group has been updated common sk Skupina bola aktualizovaná
|
||||
group list admin sk Zoznam skupín
|
||||
group manager admin sk Správca skupín
|
||||
group name admin sk Názov skupiny
|
||||
hide php information admin sk skryť php informácie
|
||||
home directory admin sk Domovský adresár
|
||||
host information admin sk Informácie o serveri
|
||||
hour<br>(0-23) admin sk Hodina<br>(0-23)
|
||||
how big should thumbnails for linked images be (maximum in pixels) ? admin sk Aké veľké majú byť náhľady pre odkazované obrázky (maximum v pixeloch)?
|
||||
how many days should entries stay in the access log, before they get deleted (default 90) ? admin sk Koľko dní má záznam ostávať v Prístupových Záznamoch než sa zmaže? (predvolené: 90)
|
||||
how many entries should non-admins be able to export (empty = no limit, no = no export) admin sk Koľko záznamov majú povolené exportovať používatelia, ktorí nie sú správcami? (prázdne = bez obmedzení, no = žiaden export)
|
||||
how many minutes should an account or ip be blocked (default 30) ? admin sk Koľko minút má trvať zablokovanie účtu alebo IP? (predvolené: 30)
|
||||
how should email addresses for new users be constructed? admin sk Ako sa majú vytvárať E-mailové adresy pre nových používateľov?
|
||||
icon admin sk Ikona
|
||||
idle admin sk voľné
|
||||
if no acl records for user or any group the user is a member of admin sk Ak pre používateľa alebo akúkoľvek skupinu, ktorej je členom, neexistujú ACL záznamy
|
||||
if using ldap, do you want to manage homedirectory and loginshell attributes? admin sk Ak používate LDAP, chcete spravovať domovský adresár a atribúty login shellu?
|
||||
in mbyte admin sk v Megabajtoch
|
||||
inbound admin sk príchodzie
|
||||
initial admin sk Počiatočné
|
||||
install crontab admin sk Nainštalovať crontab
|
||||
install id admin sk ID inštalácie
|
||||
installed applications common sk Nainštalované aplikácie
|
||||
installed crontab admin sk Nainštalovaný crontab
|
||||
instance admin sk Inštancia
|
||||
interface admin sk Rozhranie
|
||||
invalid formated date "%1"! admin sk Chybný formát dátumu "%1"!
|
||||
invalid remote id or name "%1"! admin sk Chybné vzdialené ID alebo meno "%1"!
|
||||
invalid value "%1" use yes or no! admin sk Chybná hodnota "%1" - použite áno alebo nie"
|
||||
ip admin sk IP
|
||||
jobs admin sk Úlohy
|
||||
kill admin sk Ukončiť
|
||||
kill session admin sk Ukončiť reláciu
|
||||
last %1 logins admin sk Ostatné %1 prihlásenia
|
||||
last %1 logins for %2 admin sk Ostatné %1 prihlásenia pre %2
|
||||
last login admin sk posledné prihlásenie
|
||||
last login from admin sk posledné prihlásenie od
|
||||
last time read admin sk Naposledy Prečítané
|
||||
ldap default homedirectory prefix (e.g. /home for /home/username) admin sk Predpona LDAP domovského adresára (napr. /home pre /home/používateľ)
|
||||
ldap encryption type admin sk Typ LDAP šifrovania
|
||||
ldap root password admin sk Heslo LDAP root-a
|
||||
leave empty for no quota admin sk ak nechcete kvóty, ponechajte prázdne
|
||||
leave the category untouched and return back to the list admin sk nechať kategóriu bezo zmien a vrátiť sa späť na zoznam
|
||||
leave the group untouched and return back to the list admin sk Nechať skupinu bezo zmien a vrátiť sa na zoznam
|
||||
leave without saveing the entry admin sk odísť bez uloženia tejto položky
|
||||
leaves without saveing admin sk odísť bez uloženia
|
||||
length<br>rows admin sk Dĺžka/<br>Riadkov
|
||||
list config settings admin sk Zobraziť voľby nastavení
|
||||
list current sessions admin sk Zobraziť aktuálne relácie
|
||||
list of current users admin sk zoznam aktuálnych používateľov
|
||||
login history admin sk História prihlásení
|
||||
login message admin sk Text správy prihlásenia
|
||||
login screen admin sk Prihlasovacia stránka
|
||||
login time admin sk Čas prihlásenia
|
||||
loginid admin sk Prihlasovacie ID
|
||||
logintime admin sk Čas prihlásenia
|
||||
logoutime admin sk Čas odhlásenia
|
||||
mail settings admin sk Nastavenia pošty
|
||||
main email-address admin sk Hlavná E-mailová adresa
|
||||
main screen message admin sk Text správy hlavnej stránky
|
||||
manager admin sk Správca
|
||||
max length of the input [, length of the inputfield (optional)] admin sk Maximálna dĺžka vstupu [, dĺžka vstupného poľa (nepovinné)]
|
||||
maximum account id (e.g. 65535 or 1000000) admin sk Maximálne ID účtu (napr. 65535 alebo 1000000)
|
||||
maximum entries in click path history admin sk Maximálny počet záznamov v histórii kliknutí
|
||||
message has been updated admin sk správa bola upravená
|
||||
method admin sk Metóda
|
||||
minimum account id (e.g. 500 or 100, etc.) admin sk Najmenšie ID účtu (napr. 500 alebo 100, atď.)
|
||||
minute admin sk Minúta
|
||||
mode admin sk Režim
|
||||
modified admin sk Zmenený
|
||||
month admin sk Mesiac
|
||||
more secure admin sk bezpečnejšie
|
||||
name must not be empty !!! admin sk Názov nemôže byť prázdny!
|
||||
name of the egroupware instance, eg. default admin sk Názov inštancie eGroupWare, napríklad predvolený
|
||||
new group name admin sk Názov novej skupiny
|
||||
new name admin sk nový názov
|
||||
new password [ leave blank for no change ] admin sk Nové heslo [ Ak nechcete zmenu, nechajte prázdne ]
|
||||
next run admin sk Ďalší prechod
|
||||
no algorithms available admin sk nie sú dostupné žiadne algoritmy
|
||||
no alternate email address admin sk žiadna alternatívna E-mailová adresa
|
||||
no jobs in the database !!! admin sk V databáze nie sú žiadne úlohy !!!
|
||||
no login history exists for this user admin sk Pre používateľa neexistuje žiadna história prihlásení
|
||||
no matches found admin sk Nenašlo sa
|
||||
no modes available admin sk žiadne režimy nie sú dostupné
|
||||
no permission to add groups admin sk nemáte oprávnenie pridávať skupiny
|
||||
no permission to add users admin sk nemáte oprávnenie pridávať používateľov
|
||||
no permission to create groups admin sk nemáte oprávnenie vytvárať skupiny
|
||||
note: ssl available only if php is compiled with curl support admin sk Upozornenie: SSL je dostupné iba v prípade, že PHP bolo skompilované s podporou curl
|
||||
number of row for a multiline inputfield or line of a multi-select-box admin sk počet riadkov vo viacriadkovom vstupnom poli alebo v ponuke pre výber
|
||||
order admin sk Poradie
|
||||
outbound admin sk odchodzie
|
||||
own install id: admin sk Vlastné ID inštalácie:
|
||||
passthrough admin sk prechádzajúce
|
||||
password for smtp-authentication admin sk Heslo pre SMTP overovanie
|
||||
password updated admin sk Heslo bolo zmenené
|
||||
path information admin sk Informácia o ceste
|
||||
peer server list admin sk Zoznam peer serverov
|
||||
peer servers admin sk Peer servre
|
||||
percent of users that logged out admin sk Koľko percent používateľov sa odhlásilo
|
||||
percent this user has logged out admin sk Na koľko percent sa odhlasoval tento používateľ
|
||||
permission denied admin sk Prístup bol odmietnutý
|
||||
permission denied !!! admin sk Prístup bol odmietnutý!!!
|
||||
permissions admin sk Oprávnenia
|
||||
permissions this group has admin sk Oprávnenia prináležiace tejto skupine
|
||||
phpinfo admin sk PHP informácie
|
||||
please enter a name admin sk Prosím zadajte meno
|
||||
please enter a name for that server ! admin sk Prosím zadajte názov toho servera !
|
||||
please run setup to become current admin sk Prosím spusťte setup pre aktualizáciu
|
||||
please select admin sk Prosím vyberte
|
||||
postfix with ldap admin sk Postfix + LDAP
|
||||
preferences admin sk Predvoľby
|
||||
primary group admin sk primárna skupina
|
||||
qmaildotmode admin sk bodkový režim qmail
|
||||
quota settings admin sk nastavenia kvót
|
||||
quota size in mbyte admin sk veľkosť kvóty v Megabajtoch
|
||||
re-enter password admin sk Zadajte heslo znovu
|
||||
read this list of methods. admin sk Načítaj tento zoznam metód.
|
||||
register application hooks admin sk Zaregistruj všetky aplikácie
|
||||
remote administration instances admin sk Vzdialené správcovské inštancie
|
||||
remote administration need to be enabled in the remote instance under admin > site configuration! admin sk Vzdialená správa musí byť najprv zapnutá pre vzdialenú inštanciu pod Správca > Nastavenia stránky!
|
||||
remote instance saved admin sk Vzdialená inštancia bola uložená
|
||||
remove admin sk odstrániť
|
||||
remove all users from this group admin sk Odstrániť všetkých používateľov z tejto skupiny
|
||||
remove all users from this group ? admin sk Odstrániť všetkých používateľov z tejto skupiny ?
|
||||
requested admin sk Vyžiadané
|
||||
return to admin mainscreen admin sk návrat do správcovej hlavnej stránky
|
||||
return to view account admin sk Návrat na zobrazenie účtov
|
||||
route all mails to admin sk Všetky správy smerovať cez
|
||||
run asynchronous services admin sk Spustiť asynchrónne služby
|
||||
save the category admin sk uložiť kategóriu
|
||||
save the category and return back to the list admin sk uložiť kategóriu a vrátiť sa späť na zoznam
|
||||
saves the changes made and leaves admin sk uloží vykonané zmeny a odíde
|
||||
saves this entry admin sk Uložiť túto položku
|
||||
scheduled admin sk Naplánované
|
||||
search accounts admin sk Hľadať v účtoch
|
||||
search categories admin sk Hľadať v kategóriách
|
||||
search groups admin sk Hľadať v skupinách
|
||||
search peer servers admin sk Hľadať v peer serveroch
|
||||
security admin sk Zabezpečenie
|
||||
select accounts for which the custom field should be visible admin sk Vyberte účty, pre ktoré bude vlastné pole viditeľné
|
||||
select group managers admin sk Vybrať správcov skupín
|
||||
select permissions this group will have admin sk Vyberte, aké oprávnenia má mať táto skupina
|
||||
select the parent category. if this is a main category select no category admin sk Vyberte rodičovskú kategóriu. Ak toto je hlavná kategória, vyberte ŽIADNA KATEGÓRIA
|
||||
select users for inclusion admin sk Vyberte používateľov pre zaradenie
|
||||
select where you want to store/retrieve filesystem information admin sk Vyberte, kde chcete ukladať/získavať informácie o súborovom systéme
|
||||
select where you want to store/retrieve user accounts admin sk Vyberte, kde chcete ukladať/získavať informácie o používateľských účtoch
|
||||
select which location this app should appear on the navbar, lowest (left) to highest (right) admin sk Vyberte, na ktorom mieste sa má táto aplikácia zobrazovať v navigačnom paneli, nižšie (doľava) alebo vyššie (vpravo)
|
||||
selectbox admin sk Ponuka pre výber
|
||||
server %1 has been updated admin sk Server %1 bol upravený
|
||||
server list admin sk Zoznam serverov
|
||||
server password admin sk Heslo servera
|
||||
server type(mode) admin sk Typ (režim) servera
|
||||
server url admin sk URL adresa servera
|
||||
server username admin sk Používateľské meno pre server
|
||||
set preference values. admin sk Nastaviť hodnoty.
|
||||
should exceptions contain a trace (including function arguments) admin sk Chcete, aby výnimky obsahovali trasovacie údaje (vrátane argumentov funkcií)?
|
||||
should the login page include a language selectbox (useful for demo-sites) ? admin sk Chcete, aby sa na prihlasovacej stránke zobrazoval výber jazyka (vhodné pre demo-stránky)?
|
||||
show 'powered by' logo on admin sk Kde zobrazovať logo "powered by"
|
||||
show access log admin sk Zobraziť prístupové záznamy
|
||||
show an asterisk (*) to mark untranslated strings admin sk Použiť hviezdičku (*) na označenie nepreložených fráz
|
||||
show current action admin sk Zobraziť aktuálnu akciu
|
||||
show error log admin sk Zobraziť záznamy o chybách
|
||||
show phpinfo() admin sk Zobraziť phpinfo()
|
||||
show session ip address admin sk Zobraziť IP adresu relácie
|
||||
site admin sk Stránka
|
||||
soap admin sk SOAP
|
||||
sorry, that group name has already been taken. admin sk Ľutujem, také meno skupiny tu už bolo.
|
||||
sorry, the above users are still a member of the group %1 admin sk Ľutujem, uvedení používatelia sú stále členmi skupiny %1
|
||||
sorry, the follow users are still a member of the group %1 admin sk Ľutujem, nasledujúci používatelia sú stále členmi skupiny %1
|
||||
sort the entries admin sk triediť záznamy
|
||||
ssl admin sk ssl
|
||||
standard admin sk štandardný
|
||||
standard imap server admin sk štandardný IMAP server
|
||||
standard pop3 server admin sk štandardný POP3 server
|
||||
standard smtp-server admin sk štandardný SMTP-Server
|
||||
start testjob! admin sk Spustiť testovaciu úlohu
|
||||
submit changes admin sk Vykonať Zmeny
|
||||
submit the search string admin sk Hľadaj podľa zadaného reťazca
|
||||
subtype admin sk Podtyp
|
||||
switch it off, if users are randomly thrown out admin sk vypnite to, ak sú používatelia náhodne odpájaní
|
||||
template selection admin sk Výber šablóny
|
||||
text entry admin sk Textová položka
|
||||
that application name already exists. admin sk Takýto názov aplikácie už existuje.
|
||||
that application order must be a number. admin sk Poradie aplikácie musí byť číslom.
|
||||
that loginid has already been taken admin sk Takéto ID prihlásenia sa už používa
|
||||
that name has been used already admin sk Toto meno sa už používa
|
||||
that server name has been used already ! admin sk Toto meno servera sa už používa !
|
||||
the api is current admin sk API je aktuálne
|
||||
the api requires an upgrade admin sk API potrebuje aktualizáciu
|
||||
the groups must include the primary group admin sk Skupiny musia obsahovať aj primárnu skupinu
|
||||
the install id of an instance can be found under admin > site configuration admin sk ID inštalácie pre inštanciu sa nachádza pod Správca > Nastavenia stránky
|
||||
the login and password can not be the same admin sk Prihlasovacie meno a heslo sa nesmú zhodovať
|
||||
the loginid can not be more then 8 characters admin sk Prihlasovacie ID nesmie presahovať 8 znakov
|
||||
the name used internaly (<= 20 chars), changeing it makes existing data unavailible admin sk Vnútorne používané meno (nanajvýš 20 znakov), jeho zmena zneprístupní existujúce údaje
|
||||
the testjob sends you a mail everytime it is called. admin sk Testovacia Úloha vám pošle správu, kedykoľvek sa spustí.
|
||||
the text displayed to the user admin sk text zobrazený používateľovi
|
||||
the two passwords are not the same admin sk Heslá sa nezhodujú
|
||||
the users bellow are still members of group %1 admin sk nasledujúci používatelia sú stále členmi skupiny %1
|
||||
there already is a group with this name. userid's can not have the same name as a groupid admin sk Skupina tohto mena už existuje. ID používateľa a ID skupiny nesmú byť totožné
|
||||
they must be removed before you can continue admin sk Než bude možné pokračovať, musia sa odstrániť
|
||||
this application is current admin sk Táto aplikácia je aktuálna
|
||||
this application requires an upgrade admin sk Táto aplikácia vyžaduje aktualizáciu
|
||||
this category is currently being used by applications as a parent category admin sk Táto kategória je práve používaná aplikáciami ako rodičovská.
|
||||
timeout for application session data in seconds (default 86400 = 1 day) admin sk Čas vypršania údajov o relácii aplikácie, v sekundách (predvolené: 86400 = 1 deň)
|
||||
timeout for sessions in seconds (default 14400 = 4 hours) admin sk Čas vypršania údajov o relácii, v sekundách (predvolené: 14400 = 4 hodiny)
|
||||
times admin sk Časy
|
||||
top admin sk navrchu
|
||||
total of %1 id's changed. admin sk Celkovo bolo zmenených %1 ID.
|
||||
total records admin sk Záznamov spolu
|
||||
true admin sk Pravda
|
||||
trust level admin sk Úroveň dôvery
|
||||
trust relationship admin sk Vzťah dôvery
|
||||
type '%1' already exists !!! admin sk typ '%1' už existuje !!!
|
||||
type of customfield admin sk Typ vlastného poľa
|
||||
under windows you need to install the asyncservice %1manually%2 or use the fallback mode. fallback means the jobs get only checked after each page-view !!! admin sk Pod windows musíte asyncslužby nainštalovať %1manuálne%2 alebo použiť fallback režim. Fallback znamená, že úlohy sú skontrolované iba po jednotlivých zobrazeniach stránky !!!
|
||||
unknown account: %1 !!! admin sk Neznámy účet: %1 !!!
|
||||
unknown command %1! admin sk Neznámy príkaz %1!
|
||||
unknown option %1 admin sk Neznáma možnosť %1
|
||||
updated admin sk aktualizované
|
||||
url of the egroupware installation, eg. http://domain.com/egroupware admin sk URL inštalácie eGroupWare, napríklad http://domain.com/egroupware
|
||||
use cookies to pass sessionid admin sk Použiť cookies na odovzdanie ID relácie
|
||||
use pure html compliant code (not fully working yet) admin sk Použiť čistý HTML kód (zatiaľ nie je plne funkčné)
|
||||
use theme admin sk Použiť tému
|
||||
user accounts admin sk Používateľské účty
|
||||
user data common sk Používateľské údaje
|
||||
user for smtp-authentication (leave it empty if no auth required) admin sk Používateľ pre SMTP overovanie (ak netreba, ponechajte prázdne)
|
||||
user groups admin sk Používateľské skupiny
|
||||
userdata admin sk používateľské údaje
|
||||
users choice admin sk Používateľská voľba
|
||||
value for column %1 is not unique! admin sk Hodnota pre stĺpec %1 nie je jedinečná!
|
||||
view access log admin sk Zobraziť prístupové záznamy
|
||||
view account admin sk Zobraziť účet
|
||||
view category admin sk Zobraziť kategóriu
|
||||
view error log admin sk Zobraziť záznam o chybách
|
||||
view sessions admin sk Zobraziť relácie
|
||||
view this user admin sk zobraziť tohto používateľa
|
||||
view user account admin sk Zobraziť používateľský účet
|
||||
who would you like to transfer all records owned by the deleted user to? admin sk Na koho by ste chceli preniesť VŠETKY záznamy odstráneného používateľa?
|
||||
would you like egroupware to cache the egw info array ? admin sk Chcete, aby eGroupWare kešoval egw info pole?
|
||||
would you like egroupware to check for a new version<br>when admins login ? admin sk Chcete, aby eGroupWare kontroloval aktuálnosť svojej verzie <br>po prihlásení správcu?
|
||||
would you like egroupware to check for new application versions when admins login ? admin sk Chcete, aby eGroupWare kontroloval aktuálnosť verzie aplikácií po prihlásení správcu?
|
||||
would you like to automaticaly load new langfiles (at login-time) ? admin sk Chcete, aby sa nové jazykové súbory uplatnili počas prihlasovania?
|
||||
would you like to show each application's upgrade status ? admin sk Chcete, aby sa zobrazoval stav aktualizácie každej aplikácie?
|
||||
wrong account type: %1 is no %2 !!! admin sk Nesprávny typ účtu: %1 NIE je %2!!!
|
||||
wrong admin-account or -password !!! admin sk Nesprávny účet alebo heslo správcu!!!
|
||||
xml-rpc admin sk XML-RPC
|
||||
you have entered an invalid expiration date admin sk Zadali ste nesprávny čas vypršania
|
||||
you have to enter a name, to create a new field!!! admin sk Ak chcete vytvoriť nové pole, musíte zadať názov!!!
|
||||
you have to enter a name, to create a new type!!! admin sk Ak chcete vytvoriť nový typ, musíte zadať názov!!!
|
||||
you must add at least 1 permission or group to this account admin sk Tomuto účtu musíte pridať aspoň 1 oprávnenie alebo skupinu
|
||||
you must enter a group name. admin sk Musíte zadať názov skupiny
|
||||
you must enter a lastname admin sk Musíte zadať priezvisko
|
||||
you must enter a loginid admin sk Musíte zadať prihlasovacie ID
|
||||
you must enter an application name and title. admin sk Musíte zadať názov a titulok aplikácie.
|
||||
you must enter an application name. admin sk Musíte zadať názov aplikácie.
|
||||
you must enter an application title. admin sk Musíte zadať titulok aplikácie.
|
||||
you must select a file type admin sk Musíte zadať typ súboru
|
||||
you must select at least one group member. admin sk Musíte zadať aspoň jedného člena skupiny.
|
||||
you need to enter install id and password! admin sk Musíte zadať ID inštalácie a heslo!
|
||||
you will need to remove the subcategories before you can delete this category admin sk Než odstránite túto kategóriu, musíte odstrániť všetky podkategórie!
|
||||
your session could not be verified. admin sk Vašu reláciu sa nepodarilo overiť.
|
@ -1,46 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupWare - eTemplates for Application admin
|
||||
* http://www.egroupware.org
|
||||
* generated by soetemplate::dump4setup() 2009-11-17 10:01
|
||||
*
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package admin
|
||||
* @subpackage setup
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
$templ_version=1;
|
||||
|
||||
$templ_data[] = array('name' => 'admin.accesslog','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:4:{i:0;a:1:{s:2:"h1";s:6:",!@msg";}i:1;a:2:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:4:{s:4:"type";s:9:"nextmatch";s:4:"size";s:4:"rows";s:4:"name";s:2:"nm";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:3;a:2:{s:1:"A";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:32:"Percent of users that logged out";s:8:"readonly";s:1:"1";}i:2;a:5:{s:4:"type";s:5:"float";s:4:"name";s:7:"percent";s:4:"size";s:4:",,,1";s:5:"label";s:6:": %s %";s:8:"readonly";s:1:"1";}}s:1:"B";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";s:5:"align";s:5:"right";i:1;a:6:{s:4:"type";s:6:"button";s:4:"name";s:6:"delete";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"help";s:23:"Delete selected entries";s:7:"onclick";s:46:"return confirm(\'Delete the selected entries\');";}i:2;a:4:{s:4:"type";s:10:"buttononly";s:4:"size";s:9:"arrow_ltr";s:7:"onclick";s:71:"toggle_all(this.form,form::name(\'nm[rows][selected][]\')); return false;";s:4:"span";s:15:",selectAllArrow";}}}}s:4:"rows";i:3;s:4:"cols";i:2;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.selectAllArrow { padding-right: 12px; }','modified' => '1240661952',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.accesslog.get_rows','template' => '','lang' => '','group' => '0','version' => '1.3.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:4:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:7:"LoginID";s:4:"name";s:7:"loginid";}s:1:"B";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:2:"IP";s:4:"name";s:2:"ip";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:9:"Logintime";s:4:"name";s:2:"li";}s:1:"D";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:9:"Logoutime";s:4:"name";s:2:"lo";}}i:2;a:4:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:15:"${row}[loginid]";s:8:"readonly";s:1:"1";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"name";s:10:"${row}[ip]";s:7:"no_lang";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[li]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[lo]";s:8:"readonly";s:1:"1";}}}s:4:"rows";i:2;s:4:"cols";i:4;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1164479930',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.accesslog.rows','template' => '','lang' => '','group' => '0','version' => '1.7.002','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";s:1:"H";s:2:"1%";}i:1;a:8:{s:1:"A";a:3:{s:4:"type";s:23:"nextmatch-accountfilter";s:4:"size";s:7:"LoginID";s:4:"name";s:10:"account_id";}s:1:"B";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:12:"Login-Status";s:4:"name";s:13:"sessionstatus";}s:1:"C";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:7:"Loginid";s:4:"name";s:7:"loginid";}s:1:"D";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:2:"IP";s:4:"name";s:2:"ip";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:5:"Login";s:4:"name";s:2:"li";}s:1:"F";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:6:"Logout";s:4:"name";s:2:"lo";}s:1:"G";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:5:"Total";s:4:"name";s:5:"total";}s:1:"H";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:3:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";}i:2;a:4:{s:4:"type";s:10:"buttononly";s:4:"size";s:5:"check";s:5:"label";s:10:"Select all";s:7:"onclick";s:61:"toggle_all(this.form,form::name(\'selected[]\')); return false;";}}}i:2;a:8:{s:1:"A";a:3:{s:4:"type";s:14:"select-account";s:4:"name";s:18:"${row}[account_id]";s:8:"readonly";s:1:"1";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:4:"name";s:21:"${row}[sessionstatus]";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:4:"name";s:15:"${row}[loginid]";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:4:"name";s:10:"${row}[ip]";}s:1:"E";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[li]";s:8:"readonly";s:1:"1";}s:1:"F";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:10:"${row}[lo]";s:8:"readonly";s:1:"1";}s:1:"G";a:4:{s:4:"type";s:13:"date-duration";s:4:"name";s:13:"${row}[total]";s:8:"readonly";s:1:"1";s:4:"size";s:6:",hm,24";}s:1:"H";a:5:{s:4:"type";s:4:"hbox";s:4:"size";s:6:"2,,0,0";i:1;a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Delete";s:4:"name";s:28:"delete[$row_cont[sessionid]]";s:4:"help";s:21:"Delete this log entry";s:7:"onclick";s:40:"return confirm(\'Delete this log entry\');";}i:2;a:3:{s:4:"type";s:8:"checkbox";s:4:"size";s:20:"$row_cont[sessionid]";s:4:"name";s:10:"selected[]";}s:5:"align";s:6:"center";}}}s:4:"rows";i:2;s:4:"cols";i:8;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1254816462',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.cmds','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:9:"nextmatch";s:4:"size";s:15:"admin.cmds.rows";s:4:"name";s:2:"nm";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1195518120',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.cmds.rows','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:3:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";s:2:"h2";s:4:",!@1";}i:1;a:10:{s:1:"A";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:5:"Title";s:4:"name";s:5:"title";}s:1:"B";a:3:{s:4:"type";s:16:"nextmatch-header";s:5:"label";s:9:"Requested";s:4:"name";s:9:"requested";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:9:"Scheduled";s:4:"name";s:13:"cmd_scheduled";}s:1:"D";a:3:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"size";s:6:"Remote";s:4:"name";s:9:"remote_id";}s:1:"E";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:7:"Created";s:4:"name";s:11:"cmd_created";}s:1:"F";a:3:{s:4:"type";s:23:"nextmatch-accountfilter";s:4:"name";s:7:"creator";s:4:"size";s:7:"Creator";}s:1:"G";a:3:{s:4:"type";s:22:"nextmatch-filterheader";s:4:"name";s:6:"status";s:4:"size";s:6:"Status";}s:1:"H";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Modified";s:4:"name";s:12:"cmd_modified";}s:1:"I";a:3:{s:4:"type";s:23:"nextmatch-accountfilter";s:4:"size";s:8:"Modifier";s:4:"name";s:8:"modifier";}s:1:"J";a:1:{s:4:"type";s:5:"label";}}i:2;a:10:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[title]";}s:1:"B";a:4:{s:4:"type";s:9:"url-email";s:4:"name";s:17:"${row}[requested]";s:4:"size";s:29:",,,$row_cont[requested_email]";s:8:"readonly";s:1:"1";}s:1:"C";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:17:"${row}[scheduled]";s:8:"readonly";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:6:"select";s:4:"name";s:17:"${row}[remote_id]";s:8:"readonly";s:1:"1";}s:1:"E";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:15:"${row}[created]";s:8:"readonly";s:1:"1";}s:1:"F";a:4:{s:4:"type";s:9:"url-email";s:4:"name";s:15:"${row}[creator]";s:4:"size";s:27:",,,$row_cont[creator_email]";s:8:"readonly";s:1:"1";}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:6:"2,,0,0";i:1;a:3:{s:4:"type";s:6:"select";s:4:"name";s:14:"${row}[status]";s:8:"readonly";s:1:"1";}i:2;a:3:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[error]";s:4:"span";s:10:",redItalic";}}s:1:"H";a:3:{s:4:"type";s:9:"date-time";s:4:"name";s:16:"${row}[modified]";s:8:"readonly";s:1:"1";}s:1:"I";a:4:{s:4:"type";s:9:"url-email";s:4:"name";s:16:"${row}[modifier]";s:8:"readonly";s:1:"1";s:4:"size";s:28:",,,$row_cont[modifier_email]";}s:1:"J";a:6:{s:4:"type";s:6:"button";s:4:"size";s:6:"delete";s:5:"label";s:6:"Cancel";s:4:"name";s:21:"delete[$row_cont[id]]";s:4:"help";s:29:"Cancel this scheduled command";s:7:"onclick";s:48:"return confirm(\'Cancel this scheduled command\');";}}}s:4:"rows";i:2;s:4:"cols";i:10;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '','modified' => '1195518170',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.customfields','template' => '','lang' => '','group' => '0','version' => '1.2','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:6:{i:0;a:1:{s:1:"G";s:3:"80%";}i:1;a:7:{s:1:"A";a:5:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:9:"error_msg";s:5:"align";s:6:"center";s:7:"no_lang";s:1:"1";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:7:"no_lang";s:1:"1";}}i:2;a:7:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:13:"content_types";s:4:"span";s:3:"all";s:4:"name";s:24:"admin.customfields.types";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}i:3;a:7:{s:1:"A";a:2:{s:4:"type";s:8:"template";s:4:"span";s:3:"all";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}i:4;a:7:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:6:"fields";s:4:"span";s:3:"all";s:4:"name";s:25:"admin.customfields.fields";}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}i:5;a:7:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";s:4:"span";s:3:"all";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:33:"saves the changes made and leaves";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:5:"Apply";s:4:"name";s:13:"button[apply]";s:4:"help";s:19:"applies the changes";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:14:"button[cancel]";s:4:"help";s:22:"leaves without saveing";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}s:1:"C";a:1:{s:4:"type";s:5:"label";}s:1:"D";a:1:{s:4:"type";s:5:"label";}s:1:"E";a:1:{s:4:"type";s:5:"label";}s:1:"F";a:1:{s:4:"type";s:5:"label";}s:1:"G";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:5;s:4:"cols";i:7;}}','size' => '','style' => '.redItalic { color: red; font-style: italics; }','modified' => '1131453292',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.customfields.fields','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:5:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:4:{s:2:"c1";s:2:"th";s:2:"c2";s:7:"row,top";s:1:"C";s:8:",!@type2";s:1:"E";s:14:",!@use_private";}i:1;a:9:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:4:"Name";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Label";}s:1:"C";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Subtype";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Type";}s:1:"E";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Private";}s:1:"F";a:3:{s:4:"type";s:5:"label";s:5:"label";s:7:"Options";s:4:"help";s:40:"each value is a line like <id>[=<label>]";}s:1:"G";a:2:{s:4:"type";s:5:"label";s:5:"label";s:14:"Length<br>Rows";}s:1:"H";a:2:{s:4:"type";s:5:"label";s:5:"label";s:5:"Order";}s:1:"I";a:4:{s:4:"type";s:5:"label";s:5:"label";s:6:"Action";s:5:"align";s:6:"center";s:4:"help";s:18:"deletes this field";}}i:2;a:9:{s:1:"A";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"20,32";s:4:"name";s:12:"${row}[name]";s:4:"help";s:83:"the name used internaly (<= 20 chars), changeing it makes existing data unavailible";}s:1:"B";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:4:",255";s:4:"name";s:13:"${row}[label]";s:4:"help";s:30:"the text displayed to the user";}i:2;a:2:{s:4:"type";s:5:"label";s:4:"name";s:13:"${row}[label]";}}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"size";s:3:"All";s:4:"name";s:13:"${row}[type2]";s:7:"no_lang";s:1:"1";}s:1:"D";a:3:{s:4:"type";s:18:"customfields-types";s:4:"name";s:12:"{$row}[type]";s:4:"help";s:19:"Type of customfield";}s:1:"E";a:5:{s:4:"type";s:14:"select-account";s:4:"name";s:15:"${row}[private]";s:4:"help";s:60:"Select accounts for which the custom field should be visible";s:5:"align";s:6:"center";s:4:"size";s:6:"3,both";}s:1:"F";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:4:"2,30";s:4:"name";s:14:"${row}[values]";s:4:"help";s:36:"each value is a line like id[=label]";}s:1:"G";a:4:{s:4:"type";s:4:"vbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:4:"text";s:4:"size";s:1:"5";s:4:"name";s:11:"${row}[len]";s:4:"help";s:63:"max length of the input [, length of the inputfield (optional)]";}i:2;a:5:{s:4:"type";s:3:"int";s:4:"size";s:6:"0,10,2";s:4:"name";s:12:"${row}[rows]";s:4:"help";s:70:"number of row for a multiline inputfield or line of a multi-select-box";s:4:"blur";s:1:"1";}}s:1:"H";a:4:{s:4:"type";s:3:"int";s:4:"size";s:4:"1,,3";s:4:"name";s:13:"${row}[order]";s:4:"help";s:45:"determines the order the fields are displayed";}s:1:"I";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:23:"delete[$row_cont[name]]";s:4:"help";s:18:"deletes this field";}i:2;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:21:"create$row_cont[name]";s:4:"help";s:19:"creates a new field";}}}}s:4:"rows";i:2;s:4:"cols";i:9;s:7:"options";a:0:{}}}','size' => '','style' => '','modified' => '1131454776',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.customfields.types','template' => '','lang' => '','group' => '0','version' => '1.2','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:2:{i:0;a:1:{s:1:"D";s:15:",@non_deletable";}i:1;a:6:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:8:"app-name";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"- type";}s:1:"C";a:4:{s:4:"type";s:6:"select";s:4:"name";s:5:"types";s:8:"onchange";s:1:"1";s:7:"no_lang";s:1:"1";}s:1:"D";a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Delete";s:4:"name";s:6:"delete";s:7:"onclick";s:110:"return confirm(\'WARNING: You are about to delete this type. Entries of this type won\\\'t be accessable then.\');";}s:1:"E";a:3:{s:4:"type";s:4:"text";s:4:"name";s:4:"name";s:4:"blur";s:8:"new name";}s:1:"F";a:3:{s:4:"type";s:6:"button";s:5:"label";s:6:"Create";s:4:"name";s:6:"create";}}}s:4:"rows";i:1;s:4:"cols";i:6;}}','size' => '','style' => '','modified' => '1139823458',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.remotes','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:6:{s:4:"type";s:4:"grid";s:4:"data";a:5:{i:0;a:3:{s:2:"h2";s:9:",!@remote";s:2:"h1";s:6:",!@msg";s:2:"h3";s:2:",1";}i:1;a:1:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:4:"name";s:3:"msg";}}i:2;a:1:{s:1:"A";a:4:{s:4:"type";s:8:"template";s:4:"size";s:6:"remote";s:4:"span";s:10:"all,border";s:4:"name";s:18:"admin.remotes.edit";}}i:3;a:1:{s:1:"A";a:3:{s:4:"type";s:8:"template";s:5:"align";s:5:"right";s:4:"name";s:26:"admin.remotes.header_right";}}i:4;a:1:{s:1:"A";a:3:{s:4:"type";s:9:"nextmatch";s:4:"name";s:2:"nm";s:4:"size";s:18:"admin.remotes.rows";}}}s:4:"rows";i:4;s:4:"cols";i:1;s:4:"size";s:4:"100%";s:7:"options";a:1:{i:0;s:4:"100%";}}}','size' => '100%','style' => '.border { border: black solid 2px; }','modified' => '1195926693',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.remotes.edit','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:9:{i:0;a:8:{s:2:"c2";s:2:"th";s:2:"c3";s:3:"row";s:2:"c5";s:3:"row";s:2:"c6";s:3:"row";s:2:"c4";s:3:"row";s:2:"c7";s:3:"row";s:2:"h5";s:14:",!@remote_hash";s:2:"h1";s:11:",@remote_id";}i:1;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:5:"label";s:97:"Remote administration need to be enabled in the remote instance under Admin > Site configuration!";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"size";s:14:",,,remote_name";s:5:"label";s:4:"Name";s:6:"needed";s:1:"1";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"64,64";s:4:"name";s:11:"remote_name";s:6:"needed";s:1:"1";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,install_id";s:5:"label";s:10:"Install ID";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:24:"40,32,/^[a-f0-9]{0,32}$/";s:4:"name";s:10:"install_id";s:4:"help";s:75:"The install ID of an instance can be found under Admin > Site configuration";}}i:4;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:16:",,,config_passwd";s:5:"label";s:8:"Password";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"40,32";s:4:"name";s:13:"config_passwd";s:4:"help";s:51:"Config password or md5 hash from the header.inc.php";}}i:5;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:4:"Hash";}s:1:"B";a:2:{s:4:"type";s:5:"label";s:4:"name";s:11:"remote_hash";}}i:6;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:13:",,,remote_url";s:5:"label";s:3:"URL";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"size";s:62:"64,128,/^https?:\\/\\/[a-z0-9._-]+(\\:[0-9]+)?(\\/[a-z0-9._-]+)*$/";s:4:"name";s:10:"remote_url";s:6:"needed";s:1:"1";s:4:"help";s:68:"URL of the eGroupWare installation, eg. http://domain.com/egroupware";}}i:7;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:16:",,,remote_domain";s:5:"label";s:8:"Instance";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"size";s:5:"64,64";s:4:"name";s:13:"remote_domain";s:4:"help";s:44:"Name of the eGroupWare instance, eg. default";}}i:8;a:2:{s:1:"A";a:6:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"3";i:1;a:4:{s:4:"type";s:6:"button";s:5:"label";s:4:"Save";s:4:"name";s:12:"button[save]";s:4:"help";s:16:"Saves this entry";}s:4:"span";s:3:"all";i:2;a:4:{s:4:"type";s:6:"button";s:4:"name";s:13:"button[apply]";s:5:"label";s:5:"Apply";s:4:"help";s:17:"Apply the changes";}i:3;a:4:{s:4:"type";s:6:"button";s:5:"label";s:6:"Cancel";s:4:"name";s:14:"button[cancel]";s:4:"help";s:31:"leave without saveing the entry";}}s:1:"B";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:8;s:4:"cols";i:2;}}','size' => '','style' => '','modified' => '1195927476',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.remotes.header_right','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:7:{s:4:"type";s:6:"button";s:4:"data";a:2:{i:0;a:0:{}i:1;a:1:{s:1:"A";a:1:{s:4:"type";s:5:"label";}}}s:4:"rows";i:1;s:4:"cols";i:1;s:4:"name";s:3:"add";s:5:"label";s:3:"Add";s:4:"help";s:25:"Add a new remote instance";}}','size' => '','style' => '','modified' => '1195931282',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.remotes.rows','template' => '','lang' => '','group' => '0','version' => '1.5.001','data' => 'a:1:{i:0;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:3:{i:0;a:2:{s:2:"c1";s:2:"th";s:2:"c2";s:3:"row";}i:1;a:4:{s:1:"A";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:4:"Name";s:4:"name";s:11:"remote_name";}s:1:"B";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:3:"URL";s:4:"name";s:10:"remote_url";}s:1:"C";a:3:{s:4:"type";s:20:"nextmatch-sortheader";s:5:"label";s:8:"Instance";s:4:"name";s:13:"remote_domain";}s:1:"D";a:2:{s:4:"type";s:5:"label";s:5:"label";s:7:"Actions";}}i:2;a:4:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:4:"name";s:19:"${row}[remote_name]";}s:1:"B";a:3:{s:4:"type";s:5:"label";s:4:"size";s:64:",$row_cont[remote_url]/?domain=$row_cont[remote_domain],,,_blank";s:4:"name";s:18:"${row}[remote_url]";}s:1:"C";a:3:{s:4:"type";s:5:"label";s:4:"name";s:21:"${row}[remote_domain]";s:7:"no_lang";s:1:"1";}s:1:"D";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"1";i:1;a:5:{s:4:"type";s:6:"button";s:4:"size";s:4:"edit";s:5:"label";s:4:"Edit";s:4:"name";s:26:"edit[$row_cont[remote_id]]";i:1;a:1:{s:4:"type";s:4:"hbox";}}s:5:"align";s:6:"center";}}}s:4:"rows";i:2;s:4:"cols";i:4;}}','size' => '','style' => '','modified' => '1195925625',);
|
||||
|
||||
$templ_data[] = array('name' => 'admin.statistics','template' => '','lang' => '','group' => '0','version' => '1.7.001','data' => 'a:2:{i:0;a:9:{s:4:"type";s:8:"groupbox";s:4:"size";s:1:"5";s:4:"span";s:10:"all,bigger";s:5:"label";s:35:"Official EGroupware usage statistic";i:1;a:2:{s:4:"type";s:5:"label";s:5:"label";s:131:"We ask for the data to improve our profile in the press and to get a better understanding of EGroupware\'s user base and it\'s needs.";}i:2;a:4:{s:4:"type";s:4:"html";s:5:"label";s:63:"The cumulated and anonymised data will be publically available:";i:1;a:2:{s:4:"type";s:4:"vbox";s:5:"label";s:44:"The statistics will be publically available:";}s:4:"name";s:13:"statistic_url";}i:3;a:3:{s:4:"type";s:5:"label";s:5:"label";s:91:"We hope you understand the importance for this voluntary statistic and not deny it lightly.";s:4:"span";s:5:",bold";}i:4;a:3:{s:4:"type";s:5:"label";s:5:"label";s:61:"Only below displayed information is directly submitted to %s.";s:4:"name";s:11:"submit_host";}i:5;a:4:{s:4:"type";s:4:"text";s:5:"label";s:104:"To allow us to track the growth of your individual installation use this submit ID, otherwise delete it:";s:4:"name";s:9:"submit_id";s:4:"size";s:5:"40,40";}}i:1;a:4:{s:4:"type";s:4:"grid";s:4:"data";a:14:{i:0;a:4:{s:1:"A";s:3:"140";s:3:"c10";s:4:",top";s:3:"h11";s:17:",!@last_submitted";s:3:"h12";s:6:",!@msg";}i:1;a:2:{s:1:"A";a:1:{s:4:"type";s:5:"label";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:2;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:10:",,,country";s:5:"label";s:7:"Country";}s:1:"B";a:3:{s:4:"type";s:14:"select-country";s:4:"name";s:7:"country";s:4:"size";s:17:"International use";}}i:3;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:5:"Usage";s:4:"size";s:13:",,,usage_type";}s:1:"B";a:2:{s:4:"type";s:6:"select";s:4:"name";s:10:"usage_type";}}i:4;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:5:"label";s:15:"Number of users";s:4:"size";s:8:",,,users";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"name";s:5:"users";s:4:"help";s:22:"number of active users";s:4:"size";s:2:"-8";s:8:"readonly";s:1:"1";}}i:5;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:11:",,,sessions";s:5:"label";s:21:"Sessions last 30 days";}s:1:"B";a:5:{s:4:"type";s:4:"text";s:4:"name";s:8:"sessions";s:4:"help";s:58:"Number of sessions / EGroupware logins in the last 30 days";s:4:"size";s:2:"-8";s:8:"readonly";s:1:"1";}}i:6;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:18:"EGroupware Version";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"name";s:7:"version";s:4:"size";s:2:"-8";s:8:"readonly";s:1:"1";}}i:7;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"Operating System";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"name";s:2:"os";s:4:"size";s:3:"-40";s:8:"readonly";s:1:"1";}}i:8;a:2:{s:1:"A";a:3:{s:4:"type";s:5:"label";s:4:"size";s:6:",,,php";s:5:"label";s:11:"PHP Version";}s:1:"B";a:4:{s:4:"type";s:4:"text";s:4:"name";s:3:"php";s:4:"size";s:3:"-20";s:8:"readonly";s:1:"1";}}i:9;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:17:"Installation Type";}s:1:"B";a:2:{s:4:"type";s:6:"select";s:4:"name";s:12:"install_type";}}i:10;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:12:"Applications";}s:1:"B";a:4:{s:4:"type";s:8:"textarea";s:4:"size";s:5:"10,40";s:4:"name";s:4:"apps";s:4:"help";s:80:"Installed applications, percentage of allowed users and total number of entries.";}}i:11;a:2:{s:1:"A";a:2:{s:4:"type";s:5:"label";s:5:"label";s:16:"Last submission:";}s:1:"B";a:3:{s:4:"type";s:9:"date-time";s:8:"readonly";s:1:"1";s:4:"name";s:14:"last_submitted";}}i:12;a:2:{s:1:"A";a:4:{s:4:"type";s:5:"label";s:4:"span";s:13:"all,redItalic";s:5:"align";s:6:"center";s:4:"name";s:3:"msg";}s:1:"B";a:1:{s:4:"type";s:5:"label";}}i:13;a:2:{s:1:"A";a:5:{s:4:"type";s:6:"button";s:5:"label";s:6:"Submit";s:4:"help";s:24:"Submit to egroupware.org";s:7:"onclick";s:14:"$cont[onclick]";s:4:"name";s:6:"submit";}s:1:"B";a:4:{s:4:"type";s:4:"hbox";s:4:"size";s:1:"2";i:1;a:4:{s:4:"type";s:6:"select";s:4:"name";s:8:"postpone";s:4:"size";s:12:"Postpone for";s:8:"onchange";i:1;}i:2;a:5:{s:4:"type";s:6:"button";s:4:"name";s:6:"cancel";s:5:"label";s:6:"Cancel";s:4:"help";s:84:"Go directly to admin menu, returning here the next time you click on administration.";s:5:"align";s:5:"right";}}}}s:4:"rows";i:13;s:4:"cols";i:2;}}','size' => '','style' => '.bold { font-weight: bold; }
|
||||
fieldset.bigger legend {
|
||||
font-weight: bold;
|
||||
font-size: 125%;
|
||||
padding-left: 5px;
|
||||
padding-right: 5px;
|
||||
}','modified' => '1257091720',);
|
||||
|
@ -1,57 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupWare - Admin
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package admin
|
||||
* @subpackage setup
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
$setup_info['admin']['name'] = 'admin';
|
||||
$setup_info['admin']['version'] = '1.6';
|
||||
$setup_info['admin']['app_order'] = 1;
|
||||
$setup_info['admin']['tables'] = array('egw_admin_queue','egw_admin_remote');
|
||||
$setup_info['admin']['enable'] = 1;
|
||||
|
||||
$setup_info['admin']['author'][] = array(
|
||||
'name' => 'eGroupWare coreteam',
|
||||
'email' => 'egroupware-developers@lists.sourceforge.net'
|
||||
);
|
||||
|
||||
$setup_info['admin']['maintainer'][] = array(
|
||||
'name' => 'eGroupWare coreteam',
|
||||
'email' => 'egroupware-developers@lists.sourceforge.net',
|
||||
'url' => 'www.egroupware.org'
|
||||
);
|
||||
|
||||
$setup_info['admin']['license'] = 'GPL';
|
||||
$setup_info['admin']['description'] = 'eGroupWare administration application';
|
||||
|
||||
/* The hooks this app includes, needed for hooks registration */
|
||||
$setup_info['admin']['hooks'] = array(
|
||||
'acl_manager',
|
||||
'add_def_pref',
|
||||
'after_navbar',
|
||||
'config',
|
||||
'deleteaccount',
|
||||
'view_user' => 'admin.uiaccounts.edit_view_user_hook',
|
||||
'edit_user' => 'admin.uiaccounts.edit_view_user_hook',
|
||||
'group_manager' => 'admin.uiaccounts.edit_group_hook',
|
||||
'topmenu_info'
|
||||
);
|
||||
$setup_info['admin']['hooks']['preferences'] =$setup_info['admin']['name'].'.admin_prefs_sidebox_hooks.all_hooks';
|
||||
$setup_info['admin']['hooks']['settings'] =$setup_info['admin']['name'].'.admin_prefs_sidebox_hooks.settings';
|
||||
$setup_info['admin']['hooks']['admin'] =$setup_info['admin']['name'].'.admin_prefs_sidebox_hooks.all_hooks';
|
||||
$setup_info['admin']['hooks']['sidebox_menu'] =$setup_info['admin']['name'].'.admin_prefs_sidebox_hooks.all_hooks';
|
||||
|
||||
/* Dependencies for this app to work */
|
||||
$setup_info['admin']['depends'][] = array(
|
||||
'appname' => 'phpgwapi',
|
||||
'versions' => Array('1.5','1.6','1.7')
|
||||
);
|
||||
$setup_info['admin']['depends'][] = array(
|
||||
'appname' => 'etemplate',
|
||||
'versions' => Array('1.5','1.6','1.7')
|
||||
);
|
@ -1,55 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* eGroupWare - Setup
|
||||
*
|
||||
* Created by eTemplates DB-Tools written by ralfbecker@outdoor-training.de
|
||||
*
|
||||
* @link http://www.egroupware.org
|
||||
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de>
|
||||
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
|
||||
* @package admin
|
||||
* @subpackage setup
|
||||
* @version $Id$
|
||||
*/
|
||||
|
||||
$phpgw_baseline = array(
|
||||
'egw_admin_queue' => array(
|
||||
'fd' => array(
|
||||
'cmd_id' => array('type' => 'auto'),
|
||||
'cmd_uid' => array('type' => 'varchar','precision' => '255','nullable' => False),
|
||||
'cmd_creator' => array('type' => 'int','precision' => '4','nullable' => False),
|
||||
'cmd_creator_email' => array('type' => 'varchar','precision' => '128','nullable' => False),
|
||||
'cmd_created' => array('type' => 'int','precision' => '8','nullable' => False),
|
||||
'cmd_type' => array('type' => 'varchar','precision' => '32','nullable' => False,'default' => 'admin_cmd'),
|
||||
'cmd_status' => array('type' => 'int','precision' => '1'),
|
||||
'cmd_scheduled' => array('type' => 'int','precision' => '8'),
|
||||
'cmd_modified' => array('type' => 'int','precision' => '8'),
|
||||
'cmd_modifier' => array('type' => 'int','precision' => '4'),
|
||||
'cmd_modifier_email' => array('type' => 'varchar','precision' => '128'),
|
||||
'cmd_error' => array('type' => 'varchar','precision' => '255'),
|
||||
'cmd_errno' => array('type' => 'int','precision' => '4'),
|
||||
'cmd_requested' => array('type' => 'int','precision' => '4'),
|
||||
'cmd_requested_email' => array('type' => 'varchar','precision' => '128'),
|
||||
'cmd_comment' => array('type' => 'varchar','precision' => '255'),
|
||||
'cmd_data' => array('type' => 'blob'),
|
||||
'remote_id' => array('type' => 'int','precision' => '4')
|
||||
),
|
||||
'pk' => array('cmd_id'),
|
||||
'fk' => array(),
|
||||
'ix' => array('cmd_status','cmd_scheduled'),
|
||||
'uc' => array('cmd_uid')
|
||||
),
|
||||
'egw_admin_remote' => array(
|
||||
'fd' => array(
|
||||
'remote_id' => array('type' => 'auto'),
|
||||
'remote_name' => array('type' => 'varchar','precision' => '64','nullable' => False),
|
||||
'remote_hash' => array('type' => 'varchar','precision' => '32','nullable' => False),
|
||||
'remote_url' => array('type' => 'varchar','precision' => '128','nullable' => False),
|
||||
'remote_domain' => array('type' => 'varchar','precision' => '64','nullable' => False)
|
||||
),
|
||||
'pk' => array('remote_id'),
|
||||
'fk' => array(),
|
||||
'ix' => array(),
|
||||
'uc' => array('remote_name')
|
||||
)
|
||||
);
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user