Compare commits
520 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
4707638070 | ||
|
550b6319f4 | ||
|
a5c24a7b3e | ||
|
b4104657b2 | ||
|
dd93a60cf0 | ||
|
95aa6563f5 | ||
|
951a4c8ec6 | ||
|
dfd69e00fd | ||
|
26b4b5a239 | ||
|
3976f2b954 | ||
|
c49b822a94 | ||
|
009be56bdc | ||
|
d7cf6e6fb7 | ||
|
518a0b3cfe | ||
|
4250e7b6a7 | ||
|
27cc39d1fc | ||
|
900855140d | ||
|
7750e10e2b | ||
|
9181a45343 | ||
|
babecd6862 | ||
|
7871067e98 | ||
|
c0af40f45a | ||
|
127aedb65f | ||
|
a23f8f23e9 | ||
|
4d53018b08 | ||
|
6be6611f92 | ||
|
92a4805448 | ||
|
659e7351c8 | ||
|
aa44877178 | ||
|
ebf9609590 | ||
|
4f0dd0066b | ||
|
12aa419eb6 | ||
|
6419b5c091 | ||
|
dd2984573c | ||
|
22bac121d5 | ||
|
6a17844ac6 | ||
|
3dedbd3ed8 | ||
|
61756cd49b | ||
|
d88782eff0 | ||
|
0c093c132a | ||
|
b5f7b12209 | ||
|
84c48d12ad | ||
|
a0623e3516 | ||
|
31646ba9bb | ||
|
0ac70368cc | ||
|
31fe84bd6f | ||
|
3d36ba1ba4 | ||
|
1f0711163c | ||
|
f6d6e39ae6 | ||
|
0a39c63e7a | ||
|
022df12063 | ||
|
05d2e0957e | ||
|
b2aa061bd9 | ||
|
cbbb189df6 | ||
|
e5e62d93b3 | ||
|
485ef12612 | ||
|
9b701ac5b9 | ||
|
8071d23ea5 | ||
|
a2a1969946 | ||
|
9817e2cd83 | ||
|
15250f5776 | ||
|
ce06f44d22 | ||
|
3168a88a87 | ||
|
fdc23f5846 | ||
|
750bd3bb9b | ||
|
b141e0606d | ||
|
e00dc3ec4e | ||
|
4e550758cd | ||
|
a68e1c2199 | ||
|
c52cccac0e | ||
|
ec82877ff4 | ||
|
c96764557a | ||
|
2f3846b405 | ||
|
4579b90e68 | ||
|
c967b7581f | ||
|
d2e35416ab | ||
|
3e3d6116db | ||
|
5b642979f0 | ||
|
4df4f22337 | ||
|
96a9356854 | ||
|
f3ba0142ab | ||
|
d1d0b4b1c1 | ||
|
ee86aa7bba | ||
|
aada45e0c9 | ||
|
28b05351bc | ||
|
f39a9d0835 | ||
|
e295e8f1f7 | ||
|
be3ff0b895 | ||
|
291d60d413 | ||
|
91fa9b8bbb | ||
|
70d6d035fc | ||
|
34caa21bd3 | ||
|
682e38cb1d | ||
|
28f22fab5c | ||
|
6ad247a14b | ||
|
423fa639fa | ||
|
8bf60e4af0 | ||
|
9b52f5fba5 | ||
|
f368adc1ae | ||
|
a9328ad77f | ||
|
0acd04ce49 | ||
|
7aa0f60d98 | ||
|
a029793462 | ||
|
4425e6383a | ||
|
abcc643b2b | ||
|
f5656e49f4 | ||
|
fa30c02528 | ||
|
09279b48cb | ||
|
3eb201a071 | ||
|
c5cd575b44 | ||
|
70ae993114 | ||
|
bf2769e376 | ||
|
465364efa8 | ||
|
b7bcb310af | ||
|
2a40bb8a97 | ||
|
6e6208cd11 | ||
|
b176bb96f3 | ||
|
f48bb9f670 | ||
|
0f7d93fa3e | ||
|
c5a7aac6f4 | ||
|
d09c69e1d0 | ||
|
f06923a9f7 | ||
|
824440a459 | ||
|
78d1fafef0 | ||
|
0a7ea17057 | ||
|
1ee818779a | ||
|
1951b4f39d | ||
|
c61a39b9ac | ||
|
18cae12c94 | ||
|
14618021b1 | ||
|
8c63fd4714 | ||
|
3d80941e14 | ||
|
34bd5a5ba8 | ||
|
8957d1cccd | ||
|
b8529cc3c0 | ||
|
a50b3825fe | ||
|
f4f5b91632 | ||
|
74ba7af7ef | ||
|
13e9ea3960 | ||
|
0e9f7e2133 | ||
|
7fb8b4dbea | ||
|
1477083f4c | ||
|
29adbe817b | ||
|
a00f443eec | ||
|
85a0917146 | ||
|
198fa0d983 | ||
|
cca9dfe7b8 | ||
|
7ba040132a | ||
|
af37670379 | ||
|
666607774b | ||
|
b7a8cf9b48 | ||
|
be74b456aa | ||
|
589116a6bc | ||
|
429b9b0913 | ||
|
eaa73638f1 | ||
|
2bb9634b3e | ||
|
58e4f9f51c | ||
|
304b86635e | ||
|
846e0d44f4 | ||
|
2180b87c02 | ||
|
47fa1fedca | ||
|
e2394006a8 | ||
|
a92c084471 | ||
|
399618a7b6 | ||
|
ec9361225a | ||
|
614d56fd6f | ||
|
6059d6cc0f | ||
|
7b9ae9942e | ||
|
287eb1ada5 | ||
|
99b3a59493 | ||
|
29afd4fa32 | ||
|
deb111800a | ||
|
9c7f9aad64 | ||
|
3bc6615523 | ||
|
35010c30bb | ||
|
26ca4a40bf | ||
|
f6eaa45d6d | ||
|
0d89d16735 | ||
|
34d4bf087c | ||
|
619dec0faa | ||
|
7e31271830 | ||
|
3bd4118e3e | ||
|
8e257934f3 | ||
|
a93aac8d2f | ||
|
b86196d51d | ||
|
d11d2193be | ||
|
6270294429 | ||
|
8a79c25d06 | ||
|
666289886e | ||
|
0bf8e4a287 | ||
|
3a9c7b62d7 | ||
|
9998281008 | ||
|
c2b14a5f85 | ||
|
f360253fb2 | ||
|
5924aa86f4 | ||
|
a19e998d97 | ||
|
71e90370fd | ||
|
9e35b211ae | ||
|
5ebf9280a5 | ||
|
e0c6b35a25 | ||
|
1e9fbcc070 | ||
|
0cbb4fdb71 | ||
|
e4463d38a5 | ||
|
32289d20b2 | ||
|
a4893b4b1d | ||
|
0805bf61f8 | ||
|
f9d6e727c0 | ||
|
30a3609a65 | ||
|
c67748c1f8 | ||
|
5ef227c4d1 | ||
|
c1f1985564 | ||
|
6bc9bfab11 | ||
|
84aff72ae2 | ||
|
b5d0db1ebf | ||
|
8cc7c56b50 | ||
|
53aee21f17 | ||
|
0eb977511b | ||
|
238d326bac | ||
|
45dc84cca3 | ||
|
019cf80f54 | ||
|
876368587b | ||
|
0b2ec0a91b | ||
|
3bfb8696fc | ||
|
7a6e1b807a | ||
|
032bef4012 | ||
|
e73f98cc9f | ||
|
b775e8ca4c | ||
|
4dbb0df8fa | ||
|
27f8a6da37 | ||
|
0ff3231643 | ||
|
b549272971 | ||
|
d83ce9b3c5 | ||
|
73386c5d07 | ||
|
9c133a33b0 | ||
|
406775362e | ||
|
20e1df0503 | ||
|
db2a6fc9f9 | ||
|
f275265a7b | ||
|
b8e971b8e2 | ||
|
6c57211b88 | ||
|
1140f48c28 | ||
|
bf91b12c7a | ||
|
9f723a3520 | ||
|
e64c9f8545 | ||
|
d9cb5ab88c | ||
|
b46a7b62e5 | ||
|
22a121e672 | ||
|
fa5bfe4681 | ||
|
4ad866d89a | ||
|
694b8e006a | ||
|
b542e49aeb | ||
|
3192b4a027 | ||
|
bd8c48b412 | ||
|
97534ead6f | ||
|
dbf926a0a2 | ||
|
f01caf6260 | ||
|
570e481ddf | ||
|
137094385d | ||
|
79743107b3 | ||
|
970c1b05f2 | ||
|
eb91b9dbb8 | ||
|
2230eaafa5 | ||
|
4b6c980880 | ||
|
df6a5aa17e | ||
|
ec2e578754 | ||
|
06891f76ff | ||
|
4f7f232993 | ||
|
4a96e87d96 | ||
|
c38e3d2ecc | ||
|
98344de8ec | ||
|
2077cf3fc2 | ||
|
7af22613de | ||
|
ff09d66a4b | ||
|
fc866feeaa | ||
|
8638a5df3c | ||
|
d2510c0f3f | ||
|
d4a2742a82 | ||
|
1a70e1ce68 | ||
|
37e833f71b | ||
|
da232d6773 | ||
|
56c20f5a39 | ||
|
54ef997aac | ||
|
4741500ca2 | ||
|
94798b3f78 | ||
|
a3fdeee860 | ||
|
7bf13dd570 | ||
|
091cf67832 | ||
|
ab18d7f251 | ||
|
cf49fb8384 | ||
|
9b743a137d | ||
|
a166cfb742 | ||
|
9d39607f84 | ||
|
6a5d84e20f | ||
|
f86273b133 | ||
|
85905e0b82 | ||
|
dceb04c89b | ||
|
fbdf70bcdb | ||
|
a2114e47a1 | ||
|
cb17572648 | ||
|
886b65bdaa | ||
|
a0911e593f | ||
|
5f70299d28 | ||
|
71ef369120 | ||
|
a09332a13d | ||
|
e42afdfd13 | ||
|
d627eebc66 | ||
|
b356444f24 | ||
|
1b32fe33fd | ||
|
5c7335098e | ||
|
eb2cf5f2a6 | ||
|
13eceac6a2 | ||
|
7a4633e383 | ||
|
b41e47d762 | ||
|
ec06d46997 | ||
|
6bd9c2fd4d | ||
|
287e0fc91c | ||
|
1660dc3d2a | ||
|
3b2158f2da | ||
|
5e023ce4bd | ||
|
fd2aec1bf5 | ||
|
1ad54cc033 | ||
|
e6402c1d21 | ||
|
1a825e8016 | ||
|
3bbe08b419 | ||
|
e4aa934a45 | ||
|
0f34f340ab | ||
|
1f69400c71 | ||
|
19e5c50947 | ||
|
febb03c9f1 | ||
|
f5f35feb32 | ||
|
1233ab4f33 | ||
|
d278fe4931 | ||
|
46389291a7 | ||
|
ccb3e73f21 | ||
|
36b80ed3ad | ||
|
73155ee9eb | ||
|
2854b5de0b | ||
|
1d5a9f0954 | ||
|
efdf383dc4 | ||
|
338c962e71 | ||
|
ec20618965 | ||
|
f6aae94ec2 | ||
|
59fa8a653f | ||
|
494a970e81 | ||
|
acdd95e31e | ||
|
0b6e2a605a | ||
|
05a91800b2 | ||
|
2d4001a6f1 | ||
|
7bac819526 | ||
|
49b3f025bd | ||
|
19548f2f91 | ||
|
6b91165c2b | ||
|
11758e6c41 | ||
|
a70d55cc82 | ||
|
db472fe7f3 | ||
|
6632e631fc | ||
|
04d222a2c1 | ||
|
6e18a49ab5 | ||
|
93473045e5 | ||
|
4573697e13 | ||
|
7b2f7a5c1c | ||
|
98c6d1bc3c | ||
|
f4c740db27 | ||
|
5e63776116 | ||
|
fc6384ad15 | ||
|
7f5da90ddd | ||
|
2bb0e32cac | ||
|
ff0fd6323f | ||
|
013a6c33d7 | ||
|
c0d66f825c | ||
|
796c0fd53e | ||
|
8799d36097 | ||
|
1480271b4f | ||
|
73624e76a1 | ||
|
680a89ffeb | ||
|
f009ebc45e | ||
|
34f57b50ac | ||
|
d4477d501d | ||
|
8a6114d506 | ||
|
2327d941d2 | ||
|
c4d8d7d167 | ||
|
db8acbba02 | ||
|
f6027d6ed9 | ||
|
04f4ccf8ac | ||
|
e29ca14960 | ||
|
298623b7cb | ||
|
7f79ff3d66 | ||
|
9ba1c6b641 | ||
|
48ebff3aa4 | ||
|
44e039b1b8 | ||
|
5295362cc3 | ||
|
35de9c846b | ||
|
e752c408c1 | ||
|
5417aae99f | ||
|
46211ed373 | ||
|
4a0037eec6 | ||
|
f54f56bc87 | ||
|
ada4e51e23 | ||
|
851ca75b4b | ||
|
916b8bd0bc | ||
|
823dece0d0 | ||
|
a9b91a4a0e | ||
|
b93ed1d31c | ||
|
7bfc4ac2cb | ||
|
a4ac481367 | ||
|
2f1f3369a6 | ||
|
e9575eb8af | ||
|
8deba7ce92 | ||
|
591bcbb5c7 | ||
|
29f0a87803 | ||
|
bd4b5a2242 | ||
|
66b47c6c48 | ||
|
2fe830f811 | ||
|
943e428e88 | ||
|
5ba2db92de | ||
|
5fe5cadf8a | ||
|
ee1fc5b88b | ||
|
bb29a8e4d0 | ||
|
12fcf092c7 | ||
|
fa28020e1a | ||
|
2ebf83a47c | ||
|
e37c10d2ac | ||
|
7694cc66ed | ||
|
a31aa3610a | ||
|
596a6034f4 | ||
|
6e2cc4746c | ||
|
ea5805e21f | ||
|
29e0094b1c | ||
|
8d0d63712a | ||
|
da3ec75063 | ||
|
235edf9192 | ||
|
8846c5168e | ||
|
ba39bb3d72 | ||
|
ae1945c3f3 | ||
|
107f61a085 | ||
|
c72c92f17a | ||
|
1e776f9e3c | ||
|
a326012446 | ||
|
7ad935bf83 | ||
|
12d184d19d | ||
|
266865b979 | ||
|
6c64273a7c | ||
|
c60f976801 | ||
|
55418a8dfc | ||
|
8aee3c9e8e | ||
|
43ed22905d | ||
|
746033d923 | ||
|
4036373dd2 | ||
|
7571c9e6f7 | ||
|
58a3b205c1 | ||
|
ff28193d36 | ||
|
6e6a092731 | ||
|
0d70830fc3 | ||
|
3e3075e913 | ||
|
62f11b8d78 | ||
|
deb05b2ec1 | ||
|
39ebfaf753 | ||
|
30e2671368 | ||
|
d3a97b6813 | ||
|
5c9203338b | ||
|
9d9f46f532 | ||
|
46a292c882 | ||
|
459a8bd101 | ||
|
3acc7f3bbe | ||
|
79c56b1d8f | ||
|
ba0df8cea6 | ||
|
877f636407 | ||
|
8bdd81c815 | ||
|
6ef7ecde95 | ||
|
22a33be78f | ||
|
cb98cdcd32 | ||
|
95645b05c2 | ||
|
76e8bb85a3 | ||
|
9103e8b7c7 | ||
|
e183a676f1 | ||
|
7e8430a769 | ||
|
3ed6b04443 | ||
|
c5c9030104 | ||
|
21f7e4a304 | ||
|
9e8f7ef3f6 | ||
|
d773cb2c59 | ||
|
f8000f31c7 | ||
|
b7e6425723 | ||
|
9296ca1e22 | ||
|
4341d217e0 | ||
|
0a57a7e794 | ||
|
0b9e411491 | ||
|
8fb8a24e09 | ||
|
75fc69c4e1 | ||
|
7ebc061ac0 | ||
|
cff2ee4a4b | ||
|
6944ebc376 | ||
|
2a92f3841d | ||
|
76d077b4fa | ||
|
b0466e19b8 | ||
|
9338b3a2af | ||
|
d9ae36c782 | ||
|
e6a2d51b8c | ||
|
a428628f55 | ||
|
ab47aeb16d | ||
|
e1cdcc5f96 | ||
|
08e2fe58a5 | ||
|
fa0886f6aa | ||
|
0932b203db | ||
|
de5835af65 | ||
|
13fbccf507 | ||
|
16fad86115 | ||
|
3539b02f59 | ||
|
80727c374f | ||
|
c4edaac71f | ||
|
a9c95849aa | ||
|
c89b8d56eb | ||
|
0e82b09dfa | ||
|
78f0b98bec | ||
|
d765f99acd | ||
|
34b4339a17 | ||
|
0c794cf34f | ||
|
0f090f70eb | ||
|
e580995eb9 | ||
|
6575660a89 |
@ -1,9 +0,0 @@
|
|||||||
#
|
|
||||||
# Set
|
|
||||||
#
|
|
||||||
# AllowOverride FileInfo
|
|
||||||
#
|
|
||||||
# to enable parsing off this file
|
|
||||||
# This is needed for UTF-8 support.
|
|
||||||
#
|
|
||||||
# AddDefaultCharset Off
|
|
143
about.php
@ -1,143 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare *
|
|
||||||
* 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$ */
|
|
||||||
|
|
||||||
$GLOBALS['phpgw_info'] = array();
|
|
||||||
$GLOBALS['phpgw_info']['flags']['currentapp'] = 'about';
|
|
||||||
$GLOBALS['phpgw_info']['flags']['disable_Template_class'] = True;
|
|
||||||
$GLOBALS['phpgw_info']['flags']['noheader'] = True;
|
|
||||||
include('header.inc.php');
|
|
||||||
|
|
||||||
$app = $_GET['app'];
|
|
||||||
if ($app)
|
|
||||||
{
|
|
||||||
if (!($included = $GLOBALS['phpgw']->hooks->single('about',$app)))
|
|
||||||
{
|
|
||||||
function about_app()
|
|
||||||
{
|
|
||||||
global $app;
|
|
||||||
$icon = $GLOBALS['phpgw']->common->image($app,array('navbar','nonav'));
|
|
||||||
include (PHPGW_INCLUDE_ROOT . "/$app/setup/setup.inc.php");
|
|
||||||
$info = $setup_info[$app];
|
|
||||||
$info['title'] = $GLOBALS['phpgw_info']['apps'][$app]['title'];
|
|
||||||
$other_infos = array(
|
|
||||||
'author' => lang('Author'),
|
|
||||||
'maintainer' => lang('Maintainer'),
|
|
||||||
'version' => lang('Version'),
|
|
||||||
'license' => lang('License')
|
|
||||||
);
|
|
||||||
|
|
||||||
$applink=$GLOBALS['phpgw']->link('/'.$app);
|
|
||||||
|
|
||||||
$s = "<table width='70%' cellpadding='4'>\n<tr>
|
|
||||||
<td align='left'><a href=\"$applink\" title=\"".lang('Go back to the application %1',$info['title'])."\"><img src=\"$icon\" alt=\"$info[title]\" border=\"0\" /></a></td><td align=\"left\"><h2>$info[title]</h2></td></tr>";
|
|
||||||
|
|
||||||
if ($info['description'])
|
|
||||||
{
|
|
||||||
$info['description'] = lang($info['description']);
|
|
||||||
$s .= "<tr><td colspan='2' align='left'>$info[description]</td></tr>\n";
|
|
||||||
if ($info['note'])
|
|
||||||
{
|
|
||||||
$info['note'] = lang($info['note']);
|
|
||||||
$s .= "<tr><td colspan='2' align='left'><i>$info[note]</i></td></tr>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
foreach ($other_infos as $key => $val)
|
|
||||||
{
|
|
||||||
if (isset($info[$key]))
|
|
||||||
{
|
|
||||||
$s .= "<tr><td width='1%' align='left'>$val</td><td>";
|
|
||||||
$infos = $info[$key];
|
|
||||||
for ($n = 0; is_array($info[$key][$n]) && ($infos = $info[$key][$n]) || !$n; ++$n)
|
|
||||||
{
|
|
||||||
if (!is_array($infos) && isset($info[$key.'_email']))
|
|
||||||
{
|
|
||||||
$infos = array('email' => $info[$key.'_email'],'name' => $infos);
|
|
||||||
}
|
|
||||||
if (is_array($infos))
|
|
||||||
{
|
|
||||||
$names = explode('<br>',$infos['name']);
|
|
||||||
$emails = split('@|<br>',$infos['email']);
|
|
||||||
if (count($names) < count($emails)/2)
|
|
||||||
{
|
|
||||||
$names = '';
|
|
||||||
}
|
|
||||||
$infos = '';
|
|
||||||
while (list($user,$domain) = $emails)
|
|
||||||
{
|
|
||||||
if ($infos) $infos .= '<br>';
|
|
||||||
$name = $names ? array_shift($names) : $user;
|
|
||||||
$infos .= "<a href='mailto:$user at $domain'><span onClick=\"document.location='mailto:$user'+'@'+'$domain'; return false;\">$name</span></a>";
|
|
||||||
array_shift($emails); array_shift($emails);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$s .= ($n ? '<br>' : '') . $infos;
|
|
||||||
}
|
|
||||||
$s .= "</td></tr>\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if ($info['extra_untranslated'])
|
|
||||||
{
|
|
||||||
$s .= "<tr><td colspan='2' align='left'>$info[extra_untranslated]</td></tr>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$s .= "</table>\n";
|
|
||||||
|
|
||||||
return $s;
|
|
||||||
}
|
|
||||||
$api_only = !($included = file_exists(PHPGW_INCLUDE_ROOT . "/$app/setup/setup.inc.php"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$api_only = True;
|
|
||||||
}
|
|
||||||
|
|
||||||
$tpl = CreateObject('phpgwapi.Template',$GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi'));
|
|
||||||
$tpl->set_file(array(
|
|
||||||
'phpgw_about' => 'about.tpl',
|
|
||||||
'phpgw_about_unknown' => 'about_unknown.tpl'
|
|
||||||
));
|
|
||||||
|
|
||||||
$tpl->set_var('phpgw_logo',$GLOBALS['phpgw']->common->image('phpgwapi','logo.gif'));
|
|
||||||
$tpl->set_var('phpgw_version',lang('eGroupWare API version %1',$GLOBALS['phpgw_info']['server']['versions']['phpgwapi']));
|
|
||||||
$tpl->set_var('phpgw_message',lang('%1eGroupWare%2 is a multi-user, web-based groupware suite written in %3PHP%4.',
|
|
||||||
'<a href="http://www.eGroupWare.org" target="_blank">','</a>','<a href="http://www.php.net" target="_blank">','</a>'));
|
|
||||||
|
|
||||||
if ($included)
|
|
||||||
{
|
|
||||||
$tpl->set_var('phpgw_app_about',about_app('',''));
|
|
||||||
//about_app($tpl,"phpgw_app_about");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if ($api_only)
|
|
||||||
{
|
|
||||||
$tpl->set_var('phpgw_app_about','');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$tpl->set_var('app_header',$app);
|
|
||||||
$tpl->parse('phpgw_app_about','phpgw_about_unknown');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
$title = isset($GLOBALS['phpgw_info']['apps'][$app]) ? $GLOBALS['phpgw_info']['apps'][$app]['title'] : 'eGroupWare';
|
|
||||||
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('About %1',$title);
|
|
||||||
$GLOBALS['phpgw']->common->phpgw_header();
|
|
||||||
$tpl->pparse('out','phpgw_about');
|
|
||||||
$GLOBALS['phpgw']->common->phpgw_footer();
|
|
||||||
?>
|
|
@ -12,7 +12,7 @@
|
|||||||
|
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
|
|
||||||
$GLOBALS['egw_info']['flags'] = array(
|
$GLOBALS['phpgw_info']['flags'] = array(
|
||||||
'currentapp' => 'addressbook',
|
'currentapp' => 'addressbook',
|
||||||
'noheader' => True,
|
'noheader' => True,
|
||||||
'enable_contacts_class' => True,
|
'enable_contacts_class' => True,
|
||||||
@ -21,38 +21,38 @@
|
|||||||
|
|
||||||
if (isset($_FILES['csvfile']['tmp_name']))
|
if (isset($_FILES['csvfile']['tmp_name']))
|
||||||
{
|
{
|
||||||
$csvfile = tempnam($GLOBALS['egw_info']['server']['temp_dir'],$GLOBALS['egw_info']['flags']['currentapp']."_");
|
$csvfile = tempnam($GLOBALS['phpgw_info']['server']['temp_dir'],$GLOBALS['phpgw_info']['flags']['currentapp']."_");
|
||||||
$GLOBALS['egw']->session->appsession('csvfile','',$csvfile);
|
$GLOBALS['phpgw']->session->appsession('csvfile','',$csvfile);
|
||||||
$_POST['action'] = move_uploaded_file($_FILES['csvfile']['tmp_name'],$csvfile) ?
|
$_POST['action'] = move_uploaded_file($_FILES['csvfile']['tmp_name'],$csvfile) ?
|
||||||
'download' : '';
|
'download' : '';
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$csvfile = $GLOBALS['egw']->session->appsession('csvfile');
|
$csvfile = $GLOBALS['phpgw']->session->appsession('csvfile');
|
||||||
}
|
}
|
||||||
if ($_POST['cancel'])
|
if ($_POST['cancel'])
|
||||||
{
|
{
|
||||||
@unlink($csvfile);
|
@unlink($csvfile);
|
||||||
$GLOBALS['egw']->redirect_link('/addressbook/index.php');
|
$GLOBALS['phpgw']->redirect_link('/addressbook/index.php');
|
||||||
}
|
}
|
||||||
$GLOBALS['egw_info']['flags']['app_header'] = lang('Import CSV-File into Addressbook');
|
$GLOBALS['phpgw_info']['flags']['app_header'] = lang('Import CSV-File into Addressbook');
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
|
|
||||||
$GLOBALS['egw']->contacts = createobject('phpgwapi.contacts');
|
$GLOBALS['phpgw']->contacts = createobject('phpgwapi.contacts');
|
||||||
|
|
||||||
//$GLOBALS['egw']->template->set_unknowns('keep');
|
//$GLOBALS['phpgw']->template->set_unknowns('keep');
|
||||||
$GLOBALS['egw']->template->set_file(array('import' => 'csv_import.tpl'));
|
$GLOBALS['phpgw']->template->set_file(array('import' => 'csv_import.tpl'));
|
||||||
$GLOBALS['egw']->template->set_block('import','filename','filenamehandle');
|
$GLOBALS['phpgw']->template->set_block('import','filename','filenamehandle');
|
||||||
$GLOBALS['egw']->template->set_block('import','fheader','fheaderhandle');
|
$GLOBALS['phpgw']->template->set_block('import','fheader','fheaderhandle');
|
||||||
$GLOBALS['egw']->template->set_block('import','fields','fieldshandle');
|
$GLOBALS['phpgw']->template->set_block('import','fields','fieldshandle');
|
||||||
$GLOBALS['egw']->template->set_block('import','ffooter','ffooterhandle');
|
$GLOBALS['phpgw']->template->set_block('import','ffooter','ffooterhandle');
|
||||||
$GLOBALS['egw']->template->set_block('import','imported','importedhandle');
|
$GLOBALS['phpgw']->template->set_block('import','imported','importedhandle');
|
||||||
|
|
||||||
if(($_POST['action'] == 'download' || $_POST['action'] == 'continue') && (!$_POST['fieldsep'] || !$csvfile || !($fp=fopen($csvfile,'rb'))))
|
if(($_POST['action'] == 'download' || $_POST['action'] == 'continue') && (!$_POST['fieldsep'] || !$csvfile || !($fp=fopen($csvfile,'rb'))))
|
||||||
{
|
{
|
||||||
$_POST['action'] = '';
|
$_POST['action'] = '';
|
||||||
}
|
}
|
||||||
$GLOBALS['egw']->template->set_var('action_url',$GLOBALS['egw']->link('/addressbook/csv_import.php'));
|
$GLOBALS['phpgw']->template->set_var('action_url',$GLOBALS['phpgw']->link('/addressbook/csv_import.php'));
|
||||||
|
|
||||||
$PSep = '||'; // Pattern-Separator, separats the pattern-replacement-pairs in trans
|
$PSep = '||'; // Pattern-Separator, separats the pattern-replacement-pairs in trans
|
||||||
$ASep = '|>'; // Assignment-Separator, separats pattern and replacesment
|
$ASep = '|>'; // Assignment-Separator, separats pattern and replacesment
|
||||||
@ -63,14 +63,14 @@
|
|||||||
// find in Addressbook, at least n_family AND (n_given OR org_name) have to 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)
|
function addr_id($n_family,$n_given,$org_name)
|
||||||
{
|
{
|
||||||
$addrs = $GLOBALS['egw']->contacts->read(0,0,array('id'),'',"n_family=$n_family,n_given=$n_given,org_name=$org_name");
|
$addrs = $GLOBALS['phpgw']->contacts->read(0,0,array('id'),'',"n_family=$n_family,n_given=$n_given,org_name=$org_name");
|
||||||
if(!count($addrs))
|
if(!count($addrs))
|
||||||
{
|
{
|
||||||
$addrs = $GLOBALS['egw']->contacts->read(0,0,array('id'),'',"n_family=$n_family,n_given=$n_given");
|
$addrs = $GLOBALS['phpgw']->contacts->read(0,0,array('id'),'',"n_family=$n_family,n_given=$n_given");
|
||||||
}
|
}
|
||||||
if(!count($addrs))
|
if(!count($addrs))
|
||||||
{
|
{
|
||||||
$addrs = $GLOBALS['egw']->contacts->read(0,0,array('id'),'',"n_family=$n_family,org_name=$org_name");
|
$addrs = $GLOBALS['phpgw']->contacts->read(0,0,array('id'),'',"n_family=$n_family,org_name=$org_name");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(count($addrs))
|
if(count($addrs))
|
||||||
@ -99,22 +99,22 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!is_object($GLOBALS['egw']->categories))
|
if(!is_object($GLOBALS['phpgw']->categories))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->categories = createobject('phpgwapi.categories');
|
$GLOBALS['phpgw']->categories = createobject('phpgwapi.categories');
|
||||||
}
|
}
|
||||||
if (is_numeric($cat) && $GLOBALS['egw']->categories->id2name($cat) != '--')
|
if (is_numeric($cat) && $GLOBALS['phpgw']->categories->id2name($cat) != '--')
|
||||||
{
|
{
|
||||||
$cat2id[$cat] = $ids[$cat] = $cat;
|
$cat2id[$cat] = $ids[$cat] = $cat;
|
||||||
}
|
}
|
||||||
elseif ($id = $GLOBALS['egw']->categories->name2id(addslashes($cat)))
|
elseif ($id = $GLOBALS['phpgw']->categories->name2id(addslashes($cat)))
|
||||||
{ // cat exists
|
{ // cat exists
|
||||||
$cat2id[$cat] = $ids[$cat] = $id;
|
$cat2id[$cat] = $ids[$cat] = $id;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // create new cat
|
{ // create new cat
|
||||||
$GLOBALS['egw']->categories->add(array('name' => $cat,'descr' => $cat));
|
$GLOBALS['phpgw']->categories->add(array('name' => $cat,'descr' => $cat));
|
||||||
$cat2id[$cat] = $ids[$cat] = $GLOBALS['egw']->categories->name2id(addslashes($cat));
|
$cat2id[$cat] = $ids[$cat] = $GLOBALS['phpgw']->categories->name2id(addslashes($cat));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -124,11 +124,11 @@
|
|||||||
{
|
{
|
||||||
$id_str = ",$id_str,";
|
$id_str = ",$id_str,";
|
||||||
}
|
}
|
||||||
return $id_str;
|
return $id_str;
|
||||||
}
|
}
|
||||||
if (!is_object($GLOBALS['egw']->html))
|
if (!is_object($GLOBALS['phpgw']->html))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->html = CreateObject('phpgwapi.html');
|
$GLOBALS['phpgw']->html = CreateObject('phpgwapi.html');
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($_POST['next']) $_POST['action'] = 'next';
|
if ($_POST['next']) $_POST['action'] = 'next';
|
||||||
@ -136,44 +136,44 @@
|
|||||||
switch($_POST['action'])
|
switch($_POST['action'])
|
||||||
{
|
{
|
||||||
case '': // Start, ask Filename
|
case '': // Start, ask Filename
|
||||||
$GLOBALS['egw']->template->set_var('lang_csvfile',lang('CSV-Filename'));
|
$GLOBALS['phpgw']->template->set_var('lang_csvfile',lang('CSV-Filename'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_fieldsep',lang('Fieldseparator'));
|
$GLOBALS['phpgw']->template->set_var('lang_fieldsep',lang('Fieldseparator'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_charset',lang('Charset of file'));
|
$GLOBALS['phpgw']->template->set_var('lang_charset',lang('Charset of file'));
|
||||||
$GLOBALS['egw']->template->set_var('select_charset',
|
$GLOBALS['phpgw']->template->set_var('select_charset',
|
||||||
$GLOBALS['egw']->html->select('charset','',
|
$GLOBALS['phpgw']->html->select('charset','',
|
||||||
$GLOBALS['egw']->translation->get_installed_charsets()+
|
$GLOBALS['phpgw']->translation->get_installed_charsets()+
|
||||||
array('utf-8' => 'utf-8 (Unicode)'),True));
|
array('utf-8' => 'utf-8 (Unicode)'),True));
|
||||||
$GLOBALS['egw']->template->set_var('fieldsep',$_POST['fieldsep'] ? $_POST['fieldsep'] : ',');
|
$GLOBALS['phpgw']->template->set_var('fieldsep',$_POST['fieldsep'] ? $_POST['fieldsep'] : ',');
|
||||||
$GLOBALS['egw']->template->set_var('submit',lang('Import'));
|
$GLOBALS['phpgw']->template->set_var('submit',lang('Import'));
|
||||||
$GLOBALS['egw']->template->set_var('csvfile',$csvfile);
|
$GLOBALS['phpgw']->template->set_var('csvfile',$csvfile);
|
||||||
$GLOBALS['egw']->template->set_var('enctype','ENCTYPE="multipart/form-data"');
|
$GLOBALS['phpgw']->template->set_var('enctype','ENCTYPE="multipart/form-data"');
|
||||||
|
|
||||||
$GLOBALS['egw']->template->parse('filenamehandle','filename');
|
$GLOBALS['phpgw']->template->parse('filenamehandle','filename');
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'continue':
|
case 'continue':
|
||||||
case 'download':
|
case 'download':
|
||||||
$defaults = $GLOBALS['egw_info']['user']['preferences']['addressbook']['cvs_import'];
|
$defaults = $GLOBALS['phpgw_info']['user']['preferences']['addressbook']['cvs_import'];
|
||||||
if(!is_array($defaults))
|
if(!is_array($defaults))
|
||||||
{
|
{
|
||||||
$defaults = array();
|
$defaults = array();
|
||||||
}
|
}
|
||||||
$GLOBALS['egw']->template->set_var('lang_csv_fieldname',lang('CSV-Fieldname'));
|
$GLOBALS['phpgw']->template->set_var('lang_csv_fieldname',lang('CSV-Fieldname'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_addr_fieldname',lang('Addressbook-Fieldname'));
|
$GLOBALS['phpgw']->template->set_var('lang_addr_fieldname',lang('Addressbook-Fieldname'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_translation',lang("Translation").' <a href="#help">'.lang('help').'</a>');
|
$GLOBALS['phpgw']->template->set_var('lang_translation',lang("Translation").' <a href="#help">'.lang('help').'</a>');
|
||||||
$GLOBALS['egw']->template->set_var('submit',
|
$GLOBALS['phpgw']->template->set_var('submit',
|
||||||
$GLOBALS['egw']->html->submit_button('convert','Import') . ' '.
|
$GLOBALS['phpgw']->html->submit_button('convert','Import') . ' '.
|
||||||
$GLOBALS['egw']->html->submit_button('cancel','Cancel'));
|
$GLOBALS['phpgw']->html->submit_button('cancel','Cancel'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_debug',lang('Test Import (show importable records <u>only</u> in browser)'));
|
$GLOBALS['phpgw']->template->set_var('lang_debug',lang('Test Import (show importable records <u>only</u> in browser)'));
|
||||||
$GLOBALS['egw']->template->parse('fheaderhandle','fheader');
|
$GLOBALS['phpgw']->template->parse('fheaderhandle','fheader');
|
||||||
|
|
||||||
$addr_names = $GLOBALS['egw']->contacts->stock_contact_fields + array(
|
$addr_names = $GLOBALS['phpgw']->contacts->stock_contact_fields + array(
|
||||||
'cat_id' => 'Categories: id\'s or names, comma separated list',
|
'cat_id' => 'Categories: id\'s or names, comma separated list',
|
||||||
'access' => 'Access: public, private',
|
'access' => 'Access: public, private',
|
||||||
'owner' => 'Owner: user-id/-name, defaults to user',
|
'owner' => 'Owner: user-id/-name, defaults to user',
|
||||||
'address2' => 'address line 2',
|
'address2' => 'address line 2',
|
||||||
'address3' => 'address line 3',
|
'address3' => 'address line 3',
|
||||||
'ophone' => 'Other Phone'
|
'ophone' => 'Other Phone'
|
||||||
);
|
);
|
||||||
$config = CreateObject('phpgwapi.config','addressbook');
|
$config = CreateObject('phpgwapi.config','addressbook');
|
||||||
$config->read_repository();
|
$config->read_repository();
|
||||||
@ -193,41 +193,41 @@
|
|||||||
$addr_name_options = "<option value=\"\">none\n";
|
$addr_name_options = "<option value=\"\">none\n";
|
||||||
foreach($addr_names as $field => $name)
|
foreach($addr_names as $field => $name)
|
||||||
{
|
{
|
||||||
$addr_name_options .= "<option value=\"$field\">".$GLOBALS['egw']->strip_html($name)."\n";
|
$addr_name_options .= "<option value=\"$field\">".$GLOBALS['phpgw']->strip_html($name)."\n";
|
||||||
}
|
}
|
||||||
$csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
|
$csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
|
||||||
$csv_fields = $GLOBALS['egw']->translation->convert($csv_fields,$_POST['charset']);
|
$csv_fields = $GLOBALS['phpgw']->translation->convert($csv_fields,$_POST['charset']);
|
||||||
$csv_fields[] = 'no CSV 1'; // eg. for static assignments
|
$csv_fields[] = 'no CSV 1'; // eg. for static assignments
|
||||||
$csv_fields[] = 'no CSV 2';
|
$csv_fields[] = 'no CSV 2';
|
||||||
$csv_fields[] = 'no CSV 3';
|
$csv_fields[] = 'no CSV 3';
|
||||||
foreach($csv_fields as $csv_idx => $csv_field)
|
foreach($csv_fields as $csv_idx => $csv_field)
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('csv_field',$csv_field);
|
$GLOBALS['phpgw']->template->set_var('csv_field',$csv_field);
|
||||||
$GLOBALS['egw']->template->set_var('csv_idx',$csv_idx);
|
$GLOBALS['phpgw']->template->set_var('csv_idx',$csv_idx);
|
||||||
if($def = $defaults[$csv_field])
|
if($def = $defaults[$csv_field])
|
||||||
{
|
{
|
||||||
list($addr,$_POST['trans']) = explode($PSep,$def,2);
|
list($addr,$_POST['trans']) = explode($PSep,$def,2);
|
||||||
$GLOBALS['egw']->template->set_var('trans',$_POST['trans']);
|
$GLOBALS['phpgw']->template->set_var('trans',$_POST['trans']);
|
||||||
$GLOBALS['egw']->template->set_var('addr_fields',str_replace('="'.$addr.'">','="'.$addr.'" selected>',$addr_name_options));
|
$GLOBALS['phpgw']->template->set_var('addr_fields',str_replace('="'.$addr.'">','="'.$addr.'" selected>',$addr_name_options));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('trans','');
|
$GLOBALS['phpgw']->template->set_var('trans','');
|
||||||
$GLOBALS['egw']->template->set_var('addr_fields',$addr_name_options);
|
$GLOBALS['phpgw']->template->set_var('addr_fields',$addr_name_options);
|
||||||
}
|
}
|
||||||
$GLOBALS['egw']->template->parse('fieldshandle','fields',True);
|
$GLOBALS['phpgw']->template->parse('fieldshandle','fields',True);
|
||||||
}
|
}
|
||||||
$GLOBALS['egw']->template->set_var('lang_start',lang('Startrecord'));
|
$GLOBALS['phpgw']->template->set_var('lang_start',lang('Startrecord'));
|
||||||
$GLOBALS['egw']->template->set_var('start',get_var('start',array('POST'),1));
|
$GLOBALS['phpgw']->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'):
|
$msg = ($safe_mode = ini_get('safe_mode') == 'On') ? lang('to many might exceed your execution-time-limit'):
|
||||||
lang('empty for all');
|
lang('empty for all');
|
||||||
$GLOBALS['egw']->template->set_var('lang_max',lang('Number of records to read (%1)',$msg));
|
$GLOBALS['phpgw']->template->set_var('lang_max',lang('Number of records to read (%1)',$msg));
|
||||||
$GLOBALS['egw']->template->set_var('max',get_var('max',array('POST'),$safe_mode ? 200 : ''));
|
$GLOBALS['phpgw']->template->set_var('max',get_var('max',array('POST'),$safe_mode ? 200 : ''));
|
||||||
$GLOBALS['egw']->template->set_var('debug',get_var('debug',array('POST'),True)?' checked':'');
|
$GLOBALS['phpgw']->template->set_var('debug',get_var('debug',array('POST'),True)?' checked':'');
|
||||||
$GLOBALS['egw']->template->parse('ffooterhandle','ffooter');
|
$GLOBALS['phpgw']->template->parse('ffooterhandle','ffooter');
|
||||||
fclose($fp);
|
fclose($fp);
|
||||||
|
|
||||||
$hiddenvars = $GLOBALS['egw']->html->input_hidden(array(
|
$hiddenvars = $GLOBALS['phpgw']->html->input_hidden(array(
|
||||||
'action' => 'import',
|
'action' => 'import',
|
||||||
'fieldsep'=> $_POST['fieldsep'],
|
'fieldsep'=> $_POST['fieldsep'],
|
||||||
'charset' => $_POST['charset']
|
'charset' => $_POST['charset']
|
||||||
@ -262,7 +262,7 @@
|
|||||||
"will be automaticaly added.<p>".
|
"will be automaticaly added.<p>".
|
||||||
"I hope that helped to understand the features, if not <a href='mailto:RalfBecker@outdoor-training.de'>ask</a>.";
|
"I hope that helped to understand the features, if not <a href='mailto:RalfBecker@outdoor-training.de'>ask</a>.";
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('help_on_trans',lang($help_on_trans)); // I don't think anyone will translate this
|
$GLOBALS['phpgw']->template->set_var('help_on_trans',lang($help_on_trans)); // I don't think anyone will translate this
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'next':
|
case 'next':
|
||||||
@ -270,7 +270,7 @@
|
|||||||
$_POST['trans'] = unserialize(stripslashes($_POST['trans']));
|
$_POST['trans'] = unserialize(stripslashes($_POST['trans']));
|
||||||
// fall-through
|
// fall-through
|
||||||
case 'import':
|
case 'import':
|
||||||
$hiddenvars = $GLOBALS['egw']->html->input_hidden(array(
|
$hiddenvars = $GLOBALS['phpgw']->html->input_hidden(array(
|
||||||
'action' => 'continue',
|
'action' => 'continue',
|
||||||
'fieldsep'=> $_POST['fieldsep'],
|
'fieldsep'=> $_POST['fieldsep'],
|
||||||
'charset' => $_POST['charset'],
|
'charset' => $_POST['charset'],
|
||||||
@ -283,7 +283,7 @@
|
|||||||
@set_time_limit(0);
|
@set_time_limit(0);
|
||||||
$fp=fopen($csvfile,'rb');
|
$fp=fopen($csvfile,'rb');
|
||||||
$csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
|
$csv_fields = fgetcsv($fp,8000,$_POST['fieldsep']);
|
||||||
$csv_fields = $GLOBALS['egw']->translation->convert($csv_fields,$_POST['charset']);
|
$csv_fields = $GLOBALS['phpgw']->translation->convert($csv_fields,$_POST['charset']);
|
||||||
$csv_fields[] = 'no CSV 1'; // eg. for static assignments
|
$csv_fields[] = 'no CSV 1'; // eg. for static assignments
|
||||||
$csv_fields[] = 'no CSV 2';
|
$csv_fields[] = 'no CSV 2';
|
||||||
$csv_fields[] = 'no CSV 3';
|
$csv_fields[] = 'no CSV 3';
|
||||||
@ -299,9 +299,9 @@
|
|||||||
$defaults[$csv_fields[$csv_idx]] .= $PSep.$_POST['trans'][$csv_idx];
|
$defaults[$csv_fields[$csv_idx]] .= $PSep.$_POST['trans'][$csv_idx];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$GLOBALS['egw']->preferences->read_repository();
|
$GLOBALS['phpgw']->preferences->read_repository();
|
||||||
$GLOBALS['egw']->preferences->add('addressbook','cvs_import',$defaults);
|
$GLOBALS['phpgw']->preferences->add('addressbook','cvs_import',$defaults);
|
||||||
$GLOBALS['egw']->preferences->save_repository(True);
|
$GLOBALS['phpgw']->preferences->save_repository(True);
|
||||||
|
|
||||||
$log = "<table border=1>\n\t<tr><td>#</td>\n";
|
$log = "<table border=1>\n\t<tr><td>#</td>\n";
|
||||||
|
|
||||||
@ -354,7 +354,7 @@
|
|||||||
{
|
{
|
||||||
break; // EOF
|
break; // EOF
|
||||||
}
|
}
|
||||||
$fields = $GLOBALS['egw']->translation->convert($fields,$_POST['charset']);
|
$fields = $GLOBALS['phpgw']->translation->convert($fields,$_POST['charset']);
|
||||||
|
|
||||||
$log .= "\t</tr><tr><td>".($start+$anz)."</td>\n";
|
$log .= "\t</tr><tr><td>".($start+$anz)."</td>\n";
|
||||||
|
|
||||||
@ -383,7 +383,7 @@
|
|||||||
}
|
}
|
||||||
if($val[0] == '@')
|
if($val[0] == '@')
|
||||||
{
|
{
|
||||||
if (!$GLOBALS['egw_info']['user']['apps']['admin'])
|
if (!$GLOBALS['phpgw_info']['user']['apps']['admin'])
|
||||||
{
|
{
|
||||||
echo lang('@-eval() is only availible to admins!!!');
|
echo lang('@-eval() is only availible to admins!!!');
|
||||||
}
|
}
|
||||||
@ -420,7 +420,7 @@
|
|||||||
{
|
{
|
||||||
if (isset($values[$user]) && !is_numeric($user))
|
if (isset($values[$user]) && !is_numeric($user))
|
||||||
{
|
{
|
||||||
$values[$user] = $GLOBALS['egw']->accounts->name2id($values[$user]);
|
$values[$user] = $GLOBALS['phpgw']->accounts->name2id($values[$user]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (is_array($auto_fn)) // autocreate full name
|
if (is_array($auto_fn)) // autocreate full name
|
||||||
@ -438,26 +438,26 @@
|
|||||||
}
|
}
|
||||||
if(!$_POST['debug'] && !$empty) // dont import empty contacts
|
if(!$_POST['debug'] && !$empty) // dont import empty contacts
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->contacts->add( $values['owner'] ? $values['owner'] : $GLOBALS['egw_info']['user']['account_id'],
|
$GLOBALS['phpgw']->contacts->add( $values['owner'] ? $values['owner'] : $GLOBALS['phpgw_info']['user']['account_id'],
|
||||||
$values);
|
$values);
|
||||||
// echo "<p>adding: ".print_r($values)."</p>\n";
|
// echo "<p>adding: ".print_r($values)."</p>\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$log .= "\t</tr>\n</table>\n";
|
$log .= "\t</tr>\n</table>\n";
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('anz_imported',($_POST['debug'] ?
|
$GLOBALS['phpgw']->template->set_var('anz_imported',($_POST['debug'] ?
|
||||||
lang('%1 records read (not yet imported, you may go %2back%3 and uncheck Test Import)',
|
lang('%1 records read (not yet imported, you may go %2back%3 and uncheck Test Import)',
|
||||||
$anz,'','') :
|
$anz,'','') :
|
||||||
lang('%1 records imported',$anz)). ' '.
|
lang('%1 records imported',$anz)). ' '.
|
||||||
(!$_POST['debug'] && $fields ? $GLOBALS['egw']->html->submit_button('next','Import next set') . ' ':'').
|
(!$_POST['debug'] && $fields ? $GLOBALS['phpgw']->html->submit_button('next','Import next set') . ' ':'').
|
||||||
$GLOBALS['egw']->html->submit_button('continue','Back') . ' '.
|
$GLOBALS['phpgw']->html->submit_button('continue','Back') . ' '.
|
||||||
$GLOBALS['egw']->html->submit_button('cancel','Cancel'));
|
$GLOBALS['phpgw']->html->submit_button('cancel','Cancel'));
|
||||||
$GLOBALS['egw']->template->set_var('log',$log);
|
$GLOBALS['phpgw']->template->set_var('log',$log);
|
||||||
$GLOBALS['egw']->template->parse('importedhandle','imported');
|
$GLOBALS['phpgw']->template->parse('importedhandle','imported');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('hiddenvars',str_replace('{','{',$hiddenvars));
|
$GLOBALS['phpgw']->template->set_var('hiddenvars',str_replace('{','{',$hiddenvars));
|
||||||
$GLOBALS['egw']->template->pfp('out','import',True);
|
$GLOBALS['phpgw']->template->pfp('out','import',True);
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
?>
|
?>
|
||||||
|
@ -1,399 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare - Addressbook *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by Miles Lott <milos@groupwhere.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 boXport
|
|
||||||
{
|
|
||||||
var $public_functions = array(
|
|
||||||
'import' => True,
|
|
||||||
'export' => True
|
|
||||||
);
|
|
||||||
|
|
||||||
var $so;
|
|
||||||
var $contacts;
|
|
||||||
|
|
||||||
var $start;
|
|
||||||
var $limit;
|
|
||||||
var $query;
|
|
||||||
var $sort;
|
|
||||||
var $order;
|
|
||||||
var $filter;
|
|
||||||
var $cat_id;
|
|
||||||
|
|
||||||
var $use_session = False;
|
|
||||||
var $debug = False;
|
|
||||||
|
|
||||||
function boXport($session=False)
|
|
||||||
{
|
|
||||||
$this->contacts = &$GLOBALS['egw']->contacts;
|
|
||||||
$this->so = CreateObject('addressbook.soaddressbook');
|
|
||||||
if($session)
|
|
||||||
{
|
|
||||||
$this->read_sessiondata();
|
|
||||||
$this->use_session = True;
|
|
||||||
}
|
|
||||||
$_start = get_var('_start',array('POST','GET'));
|
|
||||||
$_query = get_var('_query',array('POST','GET'));
|
|
||||||
$_sort = get_var('_sort',array('POST','GET'));
|
|
||||||
$_order = get_var('_order',array('POST','GET'));
|
|
||||||
$_filter = get_var('_filter',array('POST','GET'));
|
|
||||||
$_cat_id = get_var('_cat_id',array('POST','GET'));
|
|
||||||
$_fcat_id = get_var('_fcat_id',array('POST','GET'));
|
|
||||||
|
|
||||||
if(!empty($_start) || ($_start == '0') || ($_start == 0))
|
|
||||||
{
|
|
||||||
if($this->debug) { echo '<br>overriding $start: "' . $this->start . '" now "' . $_start . '"'; }
|
|
||||||
$this->start = $_start;
|
|
||||||
}
|
|
||||||
if($_limit)
|
|
||||||
{
|
|
||||||
$this->limit = $_limit;
|
|
||||||
}
|
|
||||||
if((empty($_query) && !empty($this->query)) || !empty($_query))
|
|
||||||
{
|
|
||||||
$this->query = $_query;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(isset($_POST['fcat_id']) || isset($_POST['fcat_id']))
|
|
||||||
{
|
|
||||||
$this->cat_id = $_fcat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->cat_id = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(isset($_sort) && !empty($_sort))
|
|
||||||
{
|
|
||||||
if($this->debug) { echo '<br>overriding $sort: "' . $this->sort . '" now "' . $_sort . '"'; }
|
|
||||||
$this->sort = $_sort;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(isset($_order) && !empty($_order))
|
|
||||||
{
|
|
||||||
if($this->debug) { echo '<br>overriding $order: "' . $this->order . '" now "' . $_order . '"'; }
|
|
||||||
$this->order = $_order;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(isset($_filter) && !empty($_filter))
|
|
||||||
{
|
|
||||||
if($this->debug) { echo '<br>overriding $filter: "' . $this->filter . '" now "' . $_filter . '"'; }
|
|
||||||
$this->filter = $_filter;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_sessiondata($data)
|
|
||||||
{
|
|
||||||
if($this->use_session)
|
|
||||||
{
|
|
||||||
if($this->debug) { echo '<br>Save:'; _debug_array($data); }
|
|
||||||
$GLOBALS['egw']->session->appsession('session_data','addressbook',$data);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_sessiondata()
|
|
||||||
{
|
|
||||||
$data = $GLOBALS['egw']->session->appsession('session_data','addressbook');
|
|
||||||
if($this->debug) { echo '<br>Read:'; _debug_array($data); }
|
|
||||||
|
|
||||||
$this->start = $data['start'];
|
|
||||||
$this->limit = $data['limit'];
|
|
||||||
$this->query = $data['query'];
|
|
||||||
$this->sort = $data['sort'];
|
|
||||||
$this->order = $data['order'];
|
|
||||||
$this->filter = $data['filter'];
|
|
||||||
$this->cat_id = $data['cat_id'];
|
|
||||||
if($this->debug) { echo '<br>read_sessiondata();'; $this->_debug_sqsof(); }
|
|
||||||
}
|
|
||||||
|
|
||||||
function import($tsvfile,$conv_type,$private,$fcat_id)
|
|
||||||
{
|
|
||||||
if($conv_type == 'none')
|
|
||||||
{
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
include(PHPGW_APP_INC . '/import/' . $conv_type);
|
|
||||||
|
|
||||||
if($private == '')
|
|
||||||
{
|
|
||||||
$private = 'public';
|
|
||||||
}
|
|
||||||
$row = 0;
|
|
||||||
$buffer = array();
|
|
||||||
$contacts = new import_conv;
|
|
||||||
|
|
||||||
$buffer = $contacts->import_start_file($buffer);
|
|
||||||
|
|
||||||
if($tsvfile['type'] == 'application/zip')
|
|
||||||
{
|
|
||||||
if(!@function_exists('zip_open'))
|
|
||||||
{
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
$fp = $this->unzip($tsvfile['tmp_name'],$contacts->type);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$fp = fopen($tsvfile['tmp_name'],'r');
|
|
||||||
}
|
|
||||||
if($contacts->type == 'csv')
|
|
||||||
{
|
|
||||||
while($data = fgetcsv($fp,8000,','))
|
|
||||||
{
|
|
||||||
$num = count($data);
|
|
||||||
$row++;
|
|
||||||
if($row == 1)
|
|
||||||
{
|
|
||||||
$header = $data;
|
|
||||||
/* Changed here to ignore the header, set to our array
|
|
||||||
while(list($lhs,$rhs) = each($contacts->import))
|
|
||||||
{
|
|
||||||
$header[] = $lhs;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_start_record($buffer);
|
|
||||||
for($c=0; $c<$num; $c++ )
|
|
||||||
{
|
|
||||||
//Send name/value pairs along with the buffer
|
|
||||||
if($contacts->import[$header[$c]] != '' && $data[$c] != '')
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_new_attrib($buffer, $contacts->import[$header[$c]],$data[$c]);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$buffer = $contacts->import_end_record($buffer,$private);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
elseif($contacts->type == 'ldif')
|
|
||||||
{
|
|
||||||
while($data = fgets($fp,8000))
|
|
||||||
{
|
|
||||||
$url = '';
|
|
||||||
list($name,$value,$extra) = split(':', $data);
|
|
||||||
$name = strtolower($name);
|
|
||||||
if(substr($name,0,2) == 'dn')
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_start_record($buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
$test = trim($value);
|
|
||||||
if($name && !empty($test) && $extra)
|
|
||||||
{
|
|
||||||
// Probable url string
|
|
||||||
$url = $test;
|
|
||||||
$value = $extra;
|
|
||||||
}
|
|
||||||
elseif($name && empty($test) && $extra)
|
|
||||||
{
|
|
||||||
// Probable multiline encoding
|
|
||||||
$newval = base64_decode(trim($extra));
|
|
||||||
$value = $newval;
|
|
||||||
//echo $name.':'.$value;
|
|
||||||
}
|
|
||||||
|
|
||||||
if($name && $value)
|
|
||||||
{
|
|
||||||
$test = split(',mail=',$value);
|
|
||||||
if($test[1])
|
|
||||||
{
|
|
||||||
$name = 'mail';
|
|
||||||
$value = $test[1];
|
|
||||||
}
|
|
||||||
if($url)
|
|
||||||
{
|
|
||||||
$name = 'homeurl';
|
|
||||||
$value = $url. ':' . $value;
|
|
||||||
}
|
|
||||||
//echo '<br>'.$j.': '.$name.' => '.$value;
|
|
||||||
if($contacts->import[$name] != '' && $value != '')
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_new_attrib($buffer, $contacts->import[$name],$value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_end_record($buffer,$private);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$needToCallEndRecord = 0;
|
|
||||||
while($data = fgets($fp,8000))
|
|
||||||
{
|
|
||||||
$data = trim($data);
|
|
||||||
// RB 2001/05/07 added for Lotus Organizer
|
|
||||||
while(substr($data,-1) == '=')
|
|
||||||
{
|
|
||||||
// '=' at end-of-line --> line to be continued with next line
|
|
||||||
$data = substr($data,0,-1) . trim(fgets($fp,8000));
|
|
||||||
}
|
|
||||||
if(strstr($data,';ENCODING=QUOTED-PRINTABLE'))
|
|
||||||
{
|
|
||||||
// RB 2001/05/07 added for Lotus Organizer
|
|
||||||
$data = quoted_printable_decode(str_replace(';ENCODING=QUOTED-PRINTABLE','',$data));
|
|
||||||
}
|
|
||||||
list($name,$value) = explode(':', $data,2); // RB 2001/05/09 to allow ':' in Values (not only in URL's)
|
|
||||||
|
|
||||||
if(strtolower(substr($name,0,5)) == 'begin')
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_start_record($buffer);
|
|
||||||
$needToCallEndRecord = 1;
|
|
||||||
}
|
|
||||||
if($name && $value)
|
|
||||||
{
|
|
||||||
reset($contacts->import);
|
|
||||||
while(list($fname,$fvalue) = each($contacts->import))
|
|
||||||
{
|
|
||||||
if(strstr(strtolower($name), $contacts->import[$fname]))
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_new_attrib($buffer,$name,$value);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_end_record($buffer);
|
|
||||||
$needToCallEndRecord = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if($needToCallEndRecord)
|
|
||||||
{
|
|
||||||
$buffer = $contacts->import_end_record($buffer);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose($fp);
|
|
||||||
$buffer = $contacts->import_end_file($buffer,$private,$fcat_id);
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Use the Zip extension to open a zip file, hopefully containing multiple .vcf files
|
|
||||||
* Return a pointer to a temporary file that will then contain all files concatenated.
|
|
||||||
*/
|
|
||||||
function unzip($filename,$type)
|
|
||||||
{
|
|
||||||
$ext = '';
|
|
||||||
switch($type)
|
|
||||||
{
|
|
||||||
case 'vcard':
|
|
||||||
$ext = '.vcf';
|
|
||||||
break;
|
|
||||||
case 'csv':
|
|
||||||
$ext = '.csv';
|
|
||||||
break;
|
|
||||||
case 'ldif':
|
|
||||||
$ext = '.ldif';
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Open the (uploaded) zip file */
|
|
||||||
$zip = zip_open($filename);
|
|
||||||
|
|
||||||
$temp = tempnam('/tmp','zip2contact');
|
|
||||||
/* Open a temp file for read/write */
|
|
||||||
$fp = fopen($temp, 'w+');
|
|
||||||
|
|
||||||
$out = '';
|
|
||||||
/* Now read each entry in the zip file */
|
|
||||||
while($dirent = zip_read($zip))
|
|
||||||
{
|
|
||||||
if(zip_entry_open($zip,$dirent,'r'))
|
|
||||||
{
|
|
||||||
//echo '<br>zip_entry_name==' . zip_entry_name($dirent);
|
|
||||||
/* If an allowed extenstion based on conversion type */
|
|
||||||
if(strstr(zip_entry_name($dirent),$ext))
|
|
||||||
{
|
|
||||||
/* Write the data to our temp file */
|
|
||||||
$data = zip_entry_read($dirent,zip_entry_filesize($dirent));
|
|
||||||
//echo $data;
|
|
||||||
fwrite($fp,$data);
|
|
||||||
}
|
|
||||||
zip_entry_close($dirent);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* Close the zip file resource handle */
|
|
||||||
zip_close($zip);
|
|
||||||
|
|
||||||
/* Set the file pointer of our new file to the beginning for use by the import routines */
|
|
||||||
rewind($fp);
|
|
||||||
|
|
||||||
return $fp;
|
|
||||||
}
|
|
||||||
|
|
||||||
function export($conv_type,$cat_id='')
|
|
||||||
{
|
|
||||||
if($conv_type == 'none')
|
|
||||||
{
|
|
||||||
return False;
|
|
||||||
}
|
|
||||||
include(PHPGW_APP_INC . '/export/' . $conv_type);
|
|
||||||
|
|
||||||
$buffer = array();
|
|
||||||
$contacts = new export_conv;
|
|
||||||
|
|
||||||
// Read in user custom fields, if any
|
|
||||||
$customfields = array();
|
|
||||||
while(list($col,$descr) = @each($GLOBALS['egw_info']['user']['preferences']['addressbook']))
|
|
||||||
{
|
|
||||||
if(substr($col,0,6) == 'extra_')
|
|
||||||
{
|
|
||||||
$field = str_replace('extra_','',$col);
|
|
||||||
$field = str_replace(' ','_',$field);
|
|
||||||
$customfields[$field] = ucfirst($field);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$extrafields = array(
|
|
||||||
'ophone' => 'ophone',
|
|
||||||
'address2' => 'address2',
|
|
||||||
'address3' => 'address3'
|
|
||||||
);
|
|
||||||
|
|
||||||
if($contacts->type != 'vcard')
|
|
||||||
{
|
|
||||||
$contacts->qfields = $contacts->stock_contact_fields;# + $extrafields;# + $customfields;
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!empty($cat_id))
|
|
||||||
{
|
|
||||||
$buffer = $contacts->export_start_file($buffer,$cat_id);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$buffer = $contacts->export_start_file($buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
for($i=0;$i<count($contacts->ids);$i++)
|
|
||||||
{
|
|
||||||
$buffer = $contacts->export_start_record($buffer);
|
|
||||||
while(list($name,$value) = each($contacts->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer = $contacts->export_new_attrib($buffer,$name,$value);
|
|
||||||
}
|
|
||||||
$buffer = $contacts->export_end_record($buffer);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Here, buffer becomes a string suitable for printing
|
|
||||||
$buffer = $contacts->export_end_file($buffer);
|
|
||||||
|
|
||||||
$tsvfilename = $GLOBALS['egw_info']['server']['temp_dir'] . SEP . $tsvfilename;
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -194,13 +194,13 @@
|
|||||||
if($this->use_session)
|
if($this->use_session)
|
||||||
{
|
{
|
||||||
if($this->debug) { echo '<br>Save:'; _debug_array($data); }
|
if($this->debug) { echo '<br>Save:'; _debug_array($data); }
|
||||||
$GLOBALS['egw']->session->appsession('session_data','addressbook',$data);
|
$GLOBALS['phpgw']->session->appsession('session_data','addressbook',$data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function read_sessiondata()
|
function read_sessiondata()
|
||||||
{
|
{
|
||||||
$data = $GLOBALS['egw']->session->appsession('session_data','addressbook');
|
$data = $GLOBALS['phpgw']->session->appsession('session_data','addressbook');
|
||||||
if($this->debug) { echo '<br>Read:'; _debug_array($data); }
|
if($this->debug) { echo '<br>Read:'; _debug_array($data); }
|
||||||
|
|
||||||
$this->start = $data['start'];
|
$this->start = $data['start'];
|
||||||
@ -227,12 +227,12 @@
|
|||||||
{
|
{
|
||||||
foreach($dirty[$i] as $name => $value)
|
foreach($dirty[$i] as $name => $value)
|
||||||
{
|
{
|
||||||
$cleaned[$i][$name] = $GLOBALS['egw']->strip_html($dirty[$i][$name]);
|
$cleaned[$i][$name] = $GLOBALS['phpgw']->strip_html($dirty[$i][$name]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$cleaned[$i] == $GLOBALS['egw']->strip_html($dirty[$i]);
|
$cleaned[$i] == $GLOBALS['phpgw']->strip_html($dirty[$i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $cleaned;
|
return $cleaned;
|
||||||
@ -249,9 +249,9 @@
|
|||||||
{
|
{
|
||||||
$fields = CreateObject('addressbook.uifields',True); // no extra bo-class
|
$fields = CreateObject('addressbook.uifields',True); // no extra bo-class
|
||||||
|
|
||||||
if(is_array($new_fields) && count($new_fields))
|
if (is_array($new_fields) && count($new_fields))
|
||||||
{
|
{
|
||||||
if(!$GLOBALS['egw_info']['user']['apps']['admin'])
|
if (!$GLOBALS['phpgw_info']['user']['apps']['admin'])
|
||||||
{
|
{
|
||||||
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
||||||
}
|
}
|
||||||
@ -265,7 +265,7 @@
|
|||||||
{
|
{
|
||||||
$customfields[$data['name']] = $data['title'];
|
$customfields[$data['name']] = $data['title'];
|
||||||
}
|
}
|
||||||
if($this->xmlrpc && !isset($customfields['freebusy_url']))
|
if ($this->xmlrpc && !isset($customfields['freebusy_url']))
|
||||||
{
|
{
|
||||||
$fields->save_custom_field('','freebusy URL');
|
$fields->save_custom_field('','freebusy URL');
|
||||||
$customfields['freebusy_url'] = 'freebusy URL';
|
$customfields['freebusy_url'] = 'freebusy URL';
|
||||||
@ -276,14 +276,14 @@
|
|||||||
// translate array of internal datas to xmlrpc, eg. format bday as iso8601
|
// translate array of internal datas to xmlrpc, eg. format bday as iso8601
|
||||||
function data2xmlrpc($datas)
|
function data2xmlrpc($datas)
|
||||||
{
|
{
|
||||||
if(is_array($datas))
|
if (is_array($datas))
|
||||||
{
|
{
|
||||||
foreach($datas as $n => $data)
|
foreach($datas as $n => $data)
|
||||||
{
|
{
|
||||||
// translate birthday to a iso8601 date
|
// translate birthday to a iso8601 date
|
||||||
if(isset($data['bday']))
|
if (isset($data['bday']))
|
||||||
{
|
{
|
||||||
if(strlen($data['bday']) > 2)
|
if (strlen($data['bday']) > 2)
|
||||||
{
|
{
|
||||||
list($m,$d,$y) = explode('/',$data['bday']);
|
list($m,$d,$y) = explode('/',$data['bday']);
|
||||||
}
|
}
|
||||||
@ -294,12 +294,12 @@
|
|||||||
$datas[$n]['bday'] = $GLOBALS['server']->date2iso8601(array('year'=>$y,'month'=>$m,'mday'=>$d));
|
$datas[$n]['bday'] = $GLOBALS['server']->date2iso8601(array('year'=>$y,'month'=>$m,'mday'=>$d));
|
||||||
}
|
}
|
||||||
// translate modification time
|
// translate modification time
|
||||||
if(isset($data['last_mod']))
|
if (isset($data['last_mod']))
|
||||||
{
|
{
|
||||||
$datas[$n]['last_mod'] = $GLOBALS['server']->date2iso8601($data['last_mod']);
|
$datas[$n]['last_mod'] = $GLOBALS['server']->date2iso8601($data['last_mod']);
|
||||||
}
|
}
|
||||||
// translate categories-id-list to array with id-name pairs
|
// translate categories-id-list to array with id-name pairs
|
||||||
if(isset($data['cat_id']))
|
if (isset($data['cat_id']))
|
||||||
{
|
{
|
||||||
$datas[$n]['cat_id'] = $GLOBALS['server']->cats2xmlrpc(explode(',',$data['cat_id']));
|
$datas[$n]['cat_id'] = $GLOBALS['server']->cats2xmlrpc(explode(',',$data['cat_id']));
|
||||||
}
|
}
|
||||||
@ -311,16 +311,16 @@
|
|||||||
// retranslate from xmlrpc / iso8601 to internal format
|
// retranslate from xmlrpc / iso8601 to internal format
|
||||||
function xmlrpc2data($data)
|
function xmlrpc2data($data)
|
||||||
{
|
{
|
||||||
if(isset($data['bday']))
|
if (isset($data['bday']))
|
||||||
{
|
{
|
||||||
$arr = $GLOBALS['server']->iso86012date($data['bday']);
|
$arr = $GLOBALS['server']->iso86012date($data['bday']);
|
||||||
$data['bday'] = $arr['year'] && $arr['month'] && $arr['mday'] ? sprintf('%d/%02d/%04d',$arr['month'],$arr['mday'],$arr['year']) : '';
|
$data['bday'] = $arr['year'] && $arr['month'] && $arr['mday'] ? sprintf('%d/%02d/%04d',$arr['month'],$arr['mday'],$arr['year']) : '';
|
||||||
}
|
}
|
||||||
if(isset($data['last_mod']))
|
if (isset($data['last_mod']))
|
||||||
{
|
{
|
||||||
$data['last_mod'] = $GLOBALS['server']->iso86012date($data['last_mod'],True);
|
$data['last_mod'] = $GLOBALS['server']->iso86012date($data['last_mod'],True);
|
||||||
}
|
}
|
||||||
if(isset($data['cat_id']))
|
if (isset($data['cat_id']))
|
||||||
{
|
{
|
||||||
$cats = $GLOBALS['server']->xmlrpc2cats($data['cat_id']);
|
$cats = $GLOBALS['server']->xmlrpc2cats($data['cat_id']);
|
||||||
$data['cat_id'] = count($cats) > 1 ? ','.implode(',',$cats).',' : (int)$cats[0];
|
$data['cat_id'] = count($cats) > 1 ? ','.implode(',',$cats).',' : (int)$cats[0];
|
||||||
@ -332,19 +332,19 @@
|
|||||||
function user_pseudo_entry($account)
|
function user_pseudo_entry($account)
|
||||||
{
|
{
|
||||||
static $prefs=False;
|
static $prefs=False;
|
||||||
if(!is_object($prefs))
|
if (!is_object($prefs))
|
||||||
{
|
{
|
||||||
$prefs = CreateObject('phpgwapi.preferences'); // wie need a new copy, as wie change the user
|
$prefs = CreateObject('phpgwapi.preferences'); // wie need a new copy, as wie change the user
|
||||||
}
|
}
|
||||||
if(!is_array($account))
|
if (!is_array($account))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->accounts->account_id = $account;
|
$GLOBALS['phpgw']->accounts->account_id = $account;
|
||||||
$account = $GLOBALS['egw']->accounts->read_repository();
|
$account = $GLOBALS['phpgw']->accounts->read_repository();
|
||||||
}
|
}
|
||||||
$prefs->account_id = $account['account_id'];
|
$prefs->account_id = $account['account_id'];
|
||||||
$prefs->read_repository();
|
$prefs->read_repository();
|
||||||
$freebusy_url = $GLOBALS['egw_info']['server']['webserver_url'].'/calendar/freebusy.php?user='.$account['account_lid'];
|
$freebusy_url = $GLOBALS['phpgw_info']['server']['webserver_url'].'/calendar/freebusy.php?user='.$account['account_lid'];
|
||||||
if($freebusy_url[0] == '/')
|
if ($freebusy_url[0] == '/')
|
||||||
{
|
{
|
||||||
$freebusy_url = ($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$freebusy_url;
|
$freebusy_url = ($_SERVER['HTTPS'] ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].$freebusy_url;
|
||||||
}
|
}
|
||||||
@ -353,7 +353,7 @@
|
|||||||
$ret = array(
|
$ret = array(
|
||||||
'n_family' => $lastname,
|
'n_family' => $lastname,
|
||||||
'n_given' => $firstname,
|
'n_given' => $firstname,
|
||||||
'fn' => $GLOBALS['egw']->common->display_fullname($account['account_lid'],$firstname,$lastname),
|
'fn' => $GLOBALS['phpgw']->common->display_fullname($account['account_lid'],$firstname,$lastname),
|
||||||
'email' => $prefs->email_address($account['account_id']),
|
'email' => $prefs->email_address($account['account_id']),
|
||||||
'freebusy_url' => $freebusy_url,
|
'freebusy_url' => $freebusy_url,
|
||||||
'rights' => PHPGW_ACL_READ, // readonly access
|
'rights' => PHPGW_ACL_READ, // readonly access
|
||||||
@ -367,17 +367,17 @@
|
|||||||
function get_users($type='all')
|
function get_users($type='all')
|
||||||
{
|
{
|
||||||
$users = array();
|
$users = array();
|
||||||
switch($type)
|
switch ($type)
|
||||||
{
|
{
|
||||||
case 'all': // all
|
case 'all': // all
|
||||||
$accounts = $GLOBALS['egw']->accounts->get_list('accounts');
|
$accounts = $GLOBALS['phpgw']->accounts->get_list('accounts');
|
||||||
break;
|
break;
|
||||||
case 'calendar': // Calendar users
|
case 'calendar': // Calendar users
|
||||||
$accounts = $GLOBALS['egw']->acl->get_ids_for_location('run',1,'calendar');
|
$accounts = $GLOBALS['phpgw']->acl->get_ids_for_location('run',1,'calendar');
|
||||||
break;
|
break;
|
||||||
case 'groupmates': // Groupmates
|
case 'groupmates': // Groupmates
|
||||||
$accounts = array();
|
$accounts = array();
|
||||||
foreach($GLOBALS['egw']->accounts->membership() as $group)
|
foreach($GLOBALS['phpgw']->accounts->membership() as $group)
|
||||||
{
|
{
|
||||||
$accounts[] = $group['account_id'];
|
$accounts[] = $group['account_id'];
|
||||||
}
|
}
|
||||||
@ -385,12 +385,12 @@
|
|||||||
}
|
}
|
||||||
foreach($accounts as $key => $account)
|
foreach($accounts as $key => $account)
|
||||||
{
|
{
|
||||||
if($type == 'calendar' && $GLOBALS['egw']->accounts->get_type($account) == 'g' || $type == 'groupmates')
|
if ($type == 'calendar' && $GLOBALS['phpgw']->accounts->get_type($account) == 'g' || $type == 'groupmates')
|
||||||
{
|
{
|
||||||
// $account is a group
|
// $account is a group
|
||||||
unset($accounts[$key]);
|
unset($accounts[$key]);
|
||||||
$members = $GLOBALS['egw']->accounts->member($account);
|
$members = $GLOBALS['phpgw']->accounts->member($account);
|
||||||
if(is_array($members))
|
if (is_array($members))
|
||||||
{
|
{
|
||||||
foreach($members as $member)
|
foreach($members as $member)
|
||||||
{
|
{
|
||||||
@ -399,7 +399,7 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($type != 'all')
|
if ($type != 'all')
|
||||||
{
|
{
|
||||||
$accounts = array_unique($accounts); // remove doubles
|
$accounts = array_unique($accounts); // remove doubles
|
||||||
}
|
}
|
||||||
@ -413,24 +413,24 @@
|
|||||||
|
|
||||||
function read_entries($data)
|
function read_entries($data)
|
||||||
{
|
{
|
||||||
if($this->xmlrpc && !isset($data['fields']))
|
if ($this->xmlrpc && !isset($data['fields']))
|
||||||
{
|
{
|
||||||
$data['fields'] = array_keys(array_merge($this->so->contacts->non_contact_fields,$this->so->contacts->stock_contact_fields,$this->customfields()));
|
$data['fields'] = array_keys(array_merge($this->so->contacts->non_contact_fields,$this->so->contacts->stock_contact_fields,$this->customfields()));
|
||||||
}
|
}
|
||||||
$entries = $this->so->read_entries($data);
|
$entries = $this->so->read_entries($data);
|
||||||
$this->total = $this->so->contacts->total_records;
|
$this->total = $this->so->contacts->total_records;
|
||||||
if(!is_array($entries))
|
if (!is_array($entries))
|
||||||
{
|
{
|
||||||
$entries = array();
|
$entries = array();
|
||||||
}
|
}
|
||||||
$entries = $this->strip_html($entries);
|
$entries = $this->strip_html($entries);
|
||||||
|
|
||||||
// evtl. get uses as read-only addressbook entries, just with Name, Firstname, Email
|
// evtl. get uses as read-only addressbook entries, just with Name, Firstname, Email
|
||||||
if(@$data['include_users'])
|
if (@$data['include_users'])
|
||||||
{
|
{
|
||||||
$entries = array_merge($entries,$this->get_users($data['include_users']));
|
$entries = array_merge($entries,$this->get_users($data['include_users']));
|
||||||
}
|
}
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$entries = $this->data2xmlrpc($entries);
|
$entries = $this->data2xmlrpc($entries);
|
||||||
}
|
}
|
||||||
@ -440,14 +440,14 @@
|
|||||||
|
|
||||||
function read_entry($data)
|
function read_entry($data)
|
||||||
{
|
{
|
||||||
if($this->xmlrpc && !isset($data['fields']))
|
if ($this->xmlrpc && !isset($data['fields']))
|
||||||
{
|
{
|
||||||
$data['fields'] = array_keys(array_merge($this->so->contacts->non_contact_fields,$this->so->contacts->stock_contact_fields,$this->customfields()));
|
$data['fields'] = array_keys(array_merge($this->so->contacts->non_contact_fields,$this->so->contacts->stock_contact_fields,$this->customfields()));
|
||||||
}
|
}
|
||||||
if($data['id'] < 0)
|
if ($data['id'] < 0)
|
||||||
{
|
{
|
||||||
$entry = array($this->user_pseudo_entry(-$data['id']));
|
$entry = array($this->user_pseudo_entry(-$data['id']));
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$entry = $this->data2xmlrpc($entry);
|
$entry = $this->data2xmlrpc($entry);
|
||||||
}
|
}
|
||||||
@ -457,13 +457,13 @@
|
|||||||
{
|
{
|
||||||
$entry = $this->so->read_entry($data['id'],$data['fields']);
|
$entry = $this->so->read_entry($data['id'],$data['fields']);
|
||||||
$entry = $this->strip_html($entry);
|
$entry = $this->strip_html($entry);
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$entry = $this->data2xmlrpc($entry);
|
$entry = $this->data2xmlrpc($entry);
|
||||||
}
|
}
|
||||||
return $entry;
|
return $entry;
|
||||||
}
|
}
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
||||||
}
|
}
|
||||||
@ -476,13 +476,13 @@
|
|||||||
{
|
{
|
||||||
$entry = $this->so->read_last_entry($fields);
|
$entry = $this->so->read_last_entry($fields);
|
||||||
$entry = $this->strip_html($entry);
|
$entry = $this->strip_html($entry);
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$entry = $this->data2xmlrpc($entry);
|
$entry = $this->data2xmlrpc($entry);
|
||||||
}
|
}
|
||||||
return $entry;
|
return $entry;
|
||||||
}
|
}
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
||||||
}
|
}
|
||||||
@ -502,7 +502,7 @@
|
|||||||
$vcard = CreateObject('phpgwapi.vcard');
|
$vcard = CreateObject('phpgwapi.vcard');
|
||||||
$entry = $vcard->in_file($filename);
|
$entry = $vcard->in_file($filename);
|
||||||
/* _debug_array($entry);exit; */
|
/* _debug_array($entry);exit; */
|
||||||
$entry['owner'] = (int)$GLOBALS['egw_info']['user']['account_id'];
|
$entry['owner'] = (int)$GLOBALS['phpgw_info']['user']['account_id'];
|
||||||
$entry['access'] = 'private';
|
$entry['access'] = 'private';
|
||||||
$entry['tid'] = 'n';
|
$entry['tid'] = 'n';
|
||||||
/* _debug_array($entry);exit; */
|
/* _debug_array($entry);exit; */
|
||||||
@ -534,11 +534,11 @@
|
|||||||
$fields['email'] = $add_email;
|
$fields['email'] = $add_email;
|
||||||
$referer = urlencode($referer);
|
$referer = urlencode($referer);
|
||||||
|
|
||||||
$this->so->add_entry($GLOBALS['egw_info']['user']['account_id'],$fields,'private','','n');
|
$this->so->add_entry($GLOBALS['phpgw_info']['user']['account_id'],$fields,'private','','n');
|
||||||
$ab_id = $this->get_lastid();
|
$ab_id = $this->get_lastid();
|
||||||
|
|
||||||
Header('Location: '
|
Header('Location: '
|
||||||
. $GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uiaddressbook.view&ab_id=$ab_id&referer=$referer"));
|
. $GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uiaddressbook.view&ab_id=$ab_id&referer=$referer"));
|
||||||
}
|
}
|
||||||
|
|
||||||
function add_entry($fields)
|
function add_entry($fields)
|
||||||
@ -551,24 +551,19 @@
|
|||||||
}
|
}
|
||||||
if(!@$fields['owner'])
|
if(!@$fields['owner'])
|
||||||
{
|
{
|
||||||
$fields['owner'] = (int)$GLOBALS['egw_info']['user']['account_id'];
|
$fields['owner'] = (int)$GLOBALS['phpgw_info']['user']['account_id'];
|
||||||
}
|
}
|
||||||
if(empty($fields['access']))
|
if(empty($fields['access']))
|
||||||
{
|
{
|
||||||
$fields['access'] = 'public';
|
$fields['access'] = 'public';
|
||||||
}
|
}
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$fields = $this->xmlrpc2data($fields);
|
$fields = $this->xmlrpc2data($fields);
|
||||||
}
|
}
|
||||||
$id = $this->so->add_entry($fields);
|
$id = $this->so->add_entry($fields);
|
||||||
|
|
||||||
if($id)
|
if ($this->xmlrpc && !$id)
|
||||||
{
|
|
||||||
$GLOBALS['egw']->contenthistory->updateTimeStamp('contacts', $id, 'add', time());
|
|
||||||
}
|
|
||||||
|
|
||||||
if($this->xmlrpc && !$id)
|
|
||||||
{
|
{
|
||||||
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
||||||
}
|
}
|
||||||
@ -582,24 +577,20 @@
|
|||||||
|
|
||||||
function update_entry($fields)
|
function update_entry($fields)
|
||||||
{
|
{
|
||||||
if(!$fields['id'] && !$fields['ab_id'])
|
if (!$fields['id'] && !$fields['ab_id'])
|
||||||
{
|
{
|
||||||
return $this->add_entry($fields);
|
return $this->add_entry($fields);
|
||||||
}
|
}
|
||||||
$ok = False;
|
$ok = False;
|
||||||
if($this->check_perms($fields,PHPGW_ACL_EDIT))
|
if($this->check_perms($fields,PHPGW_ACL_EDIT))
|
||||||
{
|
{
|
||||||
if($this->xmlrpc)
|
if ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$fields = $this->xmlrpc2data($fields);
|
$fields = $this->xmlrpc2data($fields);
|
||||||
}
|
}
|
||||||
$ok = $this->so->update_entry($fields);
|
$ok = $this->so->update_entry($fields);
|
||||||
if($ok)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->contenthistory->updateTimeStamp('contacts', $fields['ab_id'], 'modify', time());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if($this->xmlrpc && !$ok)
|
if ($this->xmlrpc && !$ok)
|
||||||
{
|
{
|
||||||
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
||||||
}
|
}
|
||||||
@ -626,9 +617,8 @@
|
|||||||
if($this->check_perms($id,PHPGW_ACL_DELETE))
|
if($this->check_perms($id,PHPGW_ACL_DELETE))
|
||||||
{
|
{
|
||||||
$this->so->delete_entry($id);
|
$this->so->delete_entry($id);
|
||||||
$GLOBALS['egw']->contenthistory->updateTimeStamp('contacts', $id, 'delete', time());
|
|
||||||
}
|
}
|
||||||
elseif($this->xmlrpc)
|
elseif ($this->xmlrpc)
|
||||||
{
|
{
|
||||||
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['no_access'],$GLOBALS['xmlrpcstr']['no_access']);
|
||||||
}
|
}
|
||||||
@ -646,14 +636,14 @@
|
|||||||
{
|
{
|
||||||
$id = (int) (!is_array($addr) ? $addr : (isset($addr['id']) ? $addr['id'] : $addr['ab_id']));
|
$id = (int) (!is_array($addr) ? $addr : (isset($addr['id']) ? $addr['id'] : $addr['ab_id']));
|
||||||
|
|
||||||
if($id < 0)
|
if ($id < 0)
|
||||||
{
|
{
|
||||||
return $rights == PHPGW_ACL_READ;
|
return $rights == PHPGW_ACL_READ;
|
||||||
}
|
}
|
||||||
if(!is_array($addr) || !isset($addr['rights']) && !isset($addr['owner']))
|
if (!is_array($addr) || !isset($addr['rights']) && !isset($addr['owner']))
|
||||||
{
|
{
|
||||||
$addr = $this->so->read_entry($id,array('owner'));
|
$addr = $this->so->read_entry($id,array('owner'));
|
||||||
if(!$addr && $this->xmlrpc)
|
if (!$addr && $this->xmlrpc)
|
||||||
{
|
{
|
||||||
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['not_exist'],$GLOBALS['xmlrpcstr']['not_exist']);
|
$GLOBALS['server']->xmlrpc_error($GLOBALS['xmlrpcerr']['not_exist'],$GLOBALS['xmlrpcstr']['not_exist']);
|
||||||
}
|
}
|
||||||
@ -666,7 +656,7 @@
|
|||||||
|
|
||||||
function save_preferences($prefs,$other,$qfields,$fcat_id)
|
function save_preferences($prefs,$other,$qfields,$fcat_id)
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->preferences->read_repository();
|
$GLOBALS['phpgw']->preferences->read_repository();
|
||||||
if(is_array($prefs))
|
if(is_array($prefs))
|
||||||
{
|
{
|
||||||
/* _debug_array($prefs);exit; */
|
/* _debug_array($prefs);exit; */
|
||||||
@ -675,39 +665,39 @@
|
|||||||
/* echo '<br>checking: ' . $pref . '=' . $prefs[$pref]; */
|
/* echo '<br>checking: ' . $pref . '=' . $prefs[$pref]; */
|
||||||
if($prefs[$pref] == 'on')
|
if($prefs[$pref] == 'on')
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->preferences->add('addressbook',$pref,'addressbook_on');
|
$GLOBALS['phpgw']->preferences->add('addressbook',$pref,'addressbook_on');
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->preferences->delete('addressbook',$pref);
|
$GLOBALS['phpgw']->preferences->delete('addressbook',$pref);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(is_array($other))
|
if(is_array($other))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->preferences->delete('addressbook','mainscreen_showbirthdays');
|
$GLOBALS['phpgw']->preferences->delete('addressbook','mainscreen_showbirthdays');
|
||||||
if($other['mainscreen_showbirthdays'])
|
if($other['mainscreen_showbirthdays'])
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->preferences->add('addressbook','mainscreen_showbirthdays',True);
|
$GLOBALS['phpgw']->preferences->add('addressbook','mainscreen_showbirthdays',True);
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->preferences->delete('addressbook','default_filter');
|
$GLOBALS['phpgw']->preferences->delete('addressbook','default_filter');
|
||||||
if($other['default_filter'])
|
if($other['default_filter'])
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->preferences->add('addressbook','default_filter',$other['default_filter']);
|
$GLOBALS['phpgw']->preferences->add('addressbook','default_filter',$other['default_filter']);
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->preferences->delete('addressbook','autosave_category');
|
$GLOBALS['phpgw']->preferences->delete('addressbook','autosave_category');
|
||||||
if($other['autosave_category'])
|
if($other['autosave_category'])
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->preferences->add('addressbook','autosave_category',True);
|
$GLOBALS['phpgw']->preferences->add('addressbook','autosave_category',True);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->preferences->delete('addressbook','default_category');
|
$GLOBALS['phpgw']->preferences->delete('addressbook','default_category');
|
||||||
$GLOBALS['egw']->preferences->add('addressbook','default_category',$fcat_id);
|
$GLOBALS['phpgw']->preferences->add('addressbook','default_category',$fcat_id);
|
||||||
|
|
||||||
$GLOBALS['egw']->preferences->save_repository(True);
|
$GLOBALS['phpgw']->preferences->save_repository(True);
|
||||||
}
|
}
|
||||||
|
|
||||||
function list_methods($_type='xmlrpc')
|
function list_methods($_type='xmlrpc')
|
||||||
@ -786,5 +776,6 @@
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -1,100 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare - Addressbook *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by Joseph Engo <jengo@phpgroupware.org *
|
|
||||||
* and Miles Lott <milos@groupwhere.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 soaddressbook
|
|
||||||
{
|
|
||||||
var $contacts;
|
|
||||||
var $rights;
|
|
||||||
var $grants;
|
|
||||||
var $owner;
|
|
||||||
|
|
||||||
function soaddressbook()
|
|
||||||
{
|
|
||||||
if(!is_object($GLOBALS['egw']->contacts))
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
}
|
|
||||||
$this->contacts = &$GLOBALS['egw']->contacts;
|
|
||||||
$this->grants = &$this->contacts->grants;
|
|
||||||
|
|
||||||
/* _debug_array($GLOBALS['egw_info']); */
|
|
||||||
/* _debug_array($grants); */
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_entries($data)
|
|
||||||
{
|
|
||||||
// echo 'OK!';
|
|
||||||
// _debug_array($data);exit;
|
|
||||||
return $this->contacts->read(
|
|
||||||
$data['start'],
|
|
||||||
$data['limit'],
|
|
||||||
$data['fields'],
|
|
||||||
$data['query'],
|
|
||||||
$data['filter'],
|
|
||||||
$data['sort'],
|
|
||||||
$data['order'],
|
|
||||||
-1,
|
|
||||||
$data['cquery']
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_entry($id,$fields)
|
|
||||||
{
|
|
||||||
return $this->contacts->read_single_entry($id,$fields);
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_last_entry($fields)
|
|
||||||
{
|
|
||||||
return $this->contacts->read_last_entry($fields);
|
|
||||||
}
|
|
||||||
|
|
||||||
function add_entry($fields)
|
|
||||||
{
|
|
||||||
$owner = $fields['owner'];
|
|
||||||
$access = $fields['access'];
|
|
||||||
$cat_id = $fields['cat_id'];
|
|
||||||
$tid = $fields['tid'];
|
|
||||||
unset($fields['owner']);
|
|
||||||
unset($fields['access']);
|
|
||||||
unset($fields['cat_id']);
|
|
||||||
unset($fields['ab_id']);
|
|
||||||
unset($fields['tid']);
|
|
||||||
|
|
||||||
return $this->contacts->add($owner,$fields,$access,$cat_id,$tid);
|
|
||||||
}
|
|
||||||
|
|
||||||
function get_lastid()
|
|
||||||
{
|
|
||||||
$entry = $this->contacts->read_last_entry();
|
|
||||||
return $entry[0]['id'];
|
|
||||||
}
|
|
||||||
|
|
||||||
function update_entry($fields)
|
|
||||||
{
|
|
||||||
$ab_id = isset($fields['ab_id']) ? $fields['ab_id'] : $fields['id'];
|
|
||||||
$owner = $fields['owner'];
|
|
||||||
unset($fields['owner']);
|
|
||||||
unset($fields['ab_id']);
|
|
||||||
unset($fields['id']);
|
|
||||||
|
|
||||||
return $this->contacts->update($ab_id,$owner,$fields);
|
|
||||||
}
|
|
||||||
|
|
||||||
function delete_entry($id)
|
|
||||||
{
|
|
||||||
return $this->contacts->delete($id);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -32,7 +32,7 @@
|
|||||||
|
|
||||||
function uiXport()
|
function uiXport()
|
||||||
{
|
{
|
||||||
$this->template = $GLOBALS['egw']->template;
|
$this->template = $GLOBALS['phpgw']->template;
|
||||||
$this->cat = CreateObject('phpgwapi.categories');
|
$this->cat = CreateObject('phpgwapi.categories');
|
||||||
$this->bo = CreateObject('addressbook.boXport',True);
|
$this->bo = CreateObject('addressbook.boXport',True);
|
||||||
$this->browser = CreateObject('phpgwapi.browser');
|
$this->browser = CreateObject('phpgwapi.browser');
|
||||||
@ -106,14 +106,14 @@
|
|||||||
{
|
{
|
||||||
if($conv_type == 'none')
|
if($conv_type == 'none')
|
||||||
{
|
{
|
||||||
$GLOBALS['egw_info']['flags']['noheader'] = False;
|
$GLOBALS['phpgw_info']['flags']['noheader'] = False;
|
||||||
$GLOBALS['egw_info']['flags']['noheader'] = True;
|
$GLOBALS['phpgw_info']['flags']['noheader'] = True;
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo lang('<b>No conversion type <none> could be located.</b> Please choose a conversion type from the list');
|
echo lang('<b>No conversion type <none> could be located.</b> Please choose a conversion type from the list');
|
||||||
echo ' <a href="'.$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiXport.import') . '">' . lang('OK') . '</a>';
|
echo ' <a href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiXport.import') . '">' . lang('OK') . '</a>';
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
$buffer = $this->bo->import($tsvfile,$conv_type,$private,$fcat_id);
|
$buffer = $this->bo->import($tsvfile,$conv_type,$private,$fcat_id);
|
||||||
|
|
||||||
@ -122,30 +122,30 @@
|
|||||||
if($conv_type == 'Debug LDAP' || $conv_type == 'Debug SQL')
|
if($conv_type == 'Debug LDAP' || $conv_type == 'Debug SQL')
|
||||||
{
|
{
|
||||||
// filename, default application/octet-stream, length of file, default nocache True
|
// filename, default application/octet-stream, length of file, default nocache True
|
||||||
$GLOBALS['egw']->browser->content_header($tsvfilename,'',strlen($buffer));
|
$GLOBALS['phpgw']->browser->content_header($tsvfilename,'',strlen($buffer));
|
||||||
echo $buffer;
|
echo $buffer;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo "<pre>$buffer</pre>";
|
echo "<pre>$buffer</pre>";
|
||||||
echo '<a href="'.$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.index') . '">'.lang('OK').'</a>';
|
echo '<a href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.index') . '">'.lang('OK').'</a>';
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo "<pre>$buffer</pre>";
|
echo "<pre>$buffer</pre>";
|
||||||
echo '<a href="'.$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.index'). '">'.lang('OK').'</a>';
|
echo '<a href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.index'). '">'.lang('OK').'</a>';
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
|
|
||||||
set_time_limit(0);
|
set_time_limit(0);
|
||||||
@ -181,11 +181,11 @@
|
|||||||
$this->template->set_var('lang_none', lang('none'));
|
$this->template->set_var('lang_none', lang('none'));
|
||||||
$this->template->set_var('lang_cancel',lang('Cancel'));
|
$this->template->set_var('lang_cancel',lang('Cancel'));
|
||||||
$this->template->set_var('lang_cat',lang('Select Category'));
|
$this->template->set_var('lang_cat',lang('Select Category'));
|
||||||
$this->template->set_var('cancel_url',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.index'));
|
$this->template->set_var('cancel_url',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.index'));
|
||||||
$this->template->set_var('navbar_bg',$GLOBALS['egw_info']['theme']['navbar_bg']);
|
$this->template->set_var('navbar_bg',$GLOBALS['phpgw_info']['theme']['navbar_bg']);
|
||||||
$this->template->set_var('navbar_text',$GLOBALS['egw_info']['theme']['navbar_text']);
|
$this->template->set_var('navbar_text',$GLOBALS['phpgw_info']['theme']['navbar_text']);
|
||||||
$this->template->set_var('import_text',lang('Import from LDIF, CSV, or VCard'));
|
$this->template->set_var('import_text',lang('Import from LDIF, CSV, or VCard'));
|
||||||
$this->template->set_var('action_url',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiXport.import'));
|
$this->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiXport.import'));
|
||||||
$this->template->set_var('cat_link',$this->cat_option($this->cat_id,True,False));
|
$this->template->set_var('cat_link',$this->cat_option($this->cat_id,True,False));
|
||||||
$this->template->set_var('tsvfilename','');
|
$this->template->set_var('tsvfilename','');
|
||||||
$this->template->set_var('conv',$conv);
|
$this->template->set_var('conv',$conv);
|
||||||
@ -211,7 +211,7 @@
|
|||||||
$this->template->set_var('lang_debug',lang('Debug output in browser'));
|
$this->template->set_var('lang_debug',lang('Debug output in browser'));
|
||||||
$this->template->pparse('out','import');
|
$this->template->pparse('out','import');
|
||||||
}
|
}
|
||||||
// $GLOBALS['egw']->common->phpgw_footer();
|
// $GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
|
|
||||||
function export()
|
function export()
|
||||||
@ -226,24 +226,19 @@
|
|||||||
{
|
{
|
||||||
if($conv_type == 'none')
|
if($conv_type == 'none')
|
||||||
{
|
{
|
||||||
$GLOBALS['egw_info']['flags']['noheader'] = False;
|
$GLOBALS['phpgw_info']['flags']['noheader'] = False;
|
||||||
$GLOBALS['egw_info']['flags']['noheader'] = True;
|
$GLOBALS['phpgw_info']['flags']['noheader'] = True;
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo lang('<b>No conversion type <none> could be located.</b> Please choose a conversion type from the list');
|
echo lang('<b>No conversion type <none> could be located.</b> Please choose a conversion type from the list');
|
||||||
echo ' <a href="'.$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiXport.export') . '">' . lang('OK') . '</a>';
|
echo ' <a href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiXport.export') . '">' . lang('OK') . '</a>';
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$buffer = $this->bo->export($conv_type,$fcat_id);
|
$buffer = $this->bo->export($conv_type,$fcat_id);
|
||||||
|
|
||||||
if($conv_type == 'Palm_PDB')
|
if(($download == 'on') || ($conv_type == 'Palm_PDB'))
|
||||||
{
|
|
||||||
$pdb = CreateObject('addressbook.pdb');
|
|
||||||
$pdb->fetch($buffer, 'phpgw Contacts', $tsvfilename);
|
|
||||||
}
|
|
||||||
elseif($download == 'on')
|
|
||||||
{
|
{
|
||||||
// filename, default application/octet-stream, length of file, default nocache True
|
// filename, default application/octet-stream, length of file, default nocache True
|
||||||
$this->browser->content_header($tsvfilename,'application/x-octet-stream',strlen($buffer));
|
$this->browser->content_header($tsvfilename,'application/x-octet-stream',strlen($buffer));
|
||||||
@ -251,18 +246,18 @@
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo "<pre>\n";
|
echo "<pre>\n";
|
||||||
echo $buffer;
|
echo $buffer;
|
||||||
echo "\n</pre>\n";
|
echo "\n</pre>\n";
|
||||||
echo '<a href="'.$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiXport.export') . '">' . lang('OK') . '</a>';
|
echo '<a href="'.$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiXport.export') . '">' . lang('OK') . '</a>';
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
|
|
||||||
set_time_limit(0);
|
set_time_limit(0);
|
||||||
@ -300,11 +295,11 @@
|
|||||||
$this->template->set_var('lang_export_instructions',lang('Download export file (Uncheck to debug output in browser)'));
|
$this->template->set_var('lang_export_instructions',lang('Download export file (Uncheck to debug output in browser)'));
|
||||||
$this->template->set_var('lang_select',lang('Select the type of conversion:'));
|
$this->template->set_var('lang_select',lang('Select the type of conversion:'));
|
||||||
$this->template->set_var('cat_link',$this->cat_option($this->cat_id,False,False));
|
$this->template->set_var('cat_link',$this->cat_option($this->cat_id,False,False));
|
||||||
$this->template->set_var('cancel_url',$GLOBALS['egw']->link('/addressbook/index.php'));
|
$this->template->set_var('cancel_url',$GLOBALS['phpgw']->link('/addressbook/index.php'));
|
||||||
$this->template->set_var('navbar_bg',$GLOBALS['egw_info']['theme']['navbar_bg']);
|
$this->template->set_var('navbar_bg',$GLOBALS['phpgw_info']['theme']['navbar_bg']);
|
||||||
$this->template->set_var('navbar_text',$GLOBALS['egw_info']['theme']['navbar_text']);
|
$this->template->set_var('navbar_text',$GLOBALS['phpgw_info']['theme']['navbar_text']);
|
||||||
$this->template->set_var('export_text',lang('Export from Addressbook'));
|
$this->template->set_var('export_text',lang('Export from Addressbook'));
|
||||||
$this->template->set_var('action_url',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiXport.export'));
|
$this->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiXport.export'));
|
||||||
$this->template->set_var('filename',lang('Export file name'));
|
$this->template->set_var('filename',lang('Export file name'));
|
||||||
$this->template->set_var('conv',$conv);
|
$this->template->set_var('conv',$conv);
|
||||||
$this->template->set_var('debug',lang(''));
|
$this->template->set_var('debug',lang(''));
|
||||||
@ -317,7 +312,7 @@
|
|||||||
$this->template->set_var('cat_id',$this->cat_id);
|
$this->template->set_var('cat_id',$this->cat_id);
|
||||||
$this->template->pparse('out','export');
|
$this->template->pparse('out','export');
|
||||||
|
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -26,27 +26,27 @@
|
|||||||
{
|
{
|
||||||
if (!$only_bo)
|
if (!$only_bo)
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
|
$GLOBALS['phpgw']->template = CreateObject('phpgwapi.Template',PHPGW_APP_TPL);
|
||||||
$GLOBALS['egw']->nextmatchs = CreateObject('phpgwapi.nextmatchs');
|
$GLOBALS['phpgw']->nextmatchs = CreateObject('phpgwapi.nextmatchs');
|
||||||
}
|
}
|
||||||
$this->config = CreateObject('phpgwapi.config','addressbook');
|
$this->config = CreateObject('phpgwapi.config','addressbook');
|
||||||
}
|
}
|
||||||
|
|
||||||
function index()
|
function index()
|
||||||
{
|
{
|
||||||
if(!$GLOBALS['egw']->acl->check('run',1,'admin'))
|
if(!$GLOBALS['phpgw']->acl->check('run',1,'admin'))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo lang('access not permitted');
|
echo lang('access not permitted');
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_file(array(
|
$GLOBALS['phpgw']->template->set_file(array(
|
||||||
'field_list_t' => 'listfields.tpl',
|
'field_list_t' => 'listfields.tpl',
|
||||||
'field_list' => 'listfields.tpl'
|
'field_list' => 'listfields.tpl'
|
||||||
));
|
));
|
||||||
$GLOBALS['egw']->template->set_block('field_list_t','field_list','list');
|
$GLOBALS['phpgw']->template->set_block('field_list_t','field_list','list');
|
||||||
|
|
||||||
$field = $_POST['field'];
|
$field = $_POST['field'];
|
||||||
$start = $_POST['start'] ? $_POST['start'] : $_GET['start'];
|
$start = $_POST['start'] ? $_POST['start'] : $_GET['start'];
|
||||||
@ -60,14 +60,14 @@
|
|||||||
. '<input type="hidden" name="start" value="' . $start . '">' . "\n"
|
. '<input type="hidden" name="start" value="' . $start . '">' . "\n"
|
||||||
. '<input type="hidden" name="filter" value="' . $filter . '">' . "\n";
|
. '<input type="hidden" name="filter" value="' . $filter . '">' . "\n";
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('lang_action',lang('Custom Fields'));
|
$GLOBALS['phpgw']->template->set_var('lang_action',lang('Custom Fields'));
|
||||||
$GLOBALS['egw']->template->set_var('add_action',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.add'));
|
$GLOBALS['phpgw']->template->set_var('add_action',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.add'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_add',lang('Add'));
|
$GLOBALS['phpgw']->template->set_var('lang_add',lang('Add'));
|
||||||
$GLOBALS['egw']->template->set_var('title_fields',lang('addressbook').' - '.lang('Custom Fields'));
|
$GLOBALS['phpgw']->template->set_var('title_fields',lang('addressbook').' - '.lang('Custom Fields'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_search',lang('Search'));
|
$GLOBALS['phpgw']->template->set_var('lang_search',lang('Search'));
|
||||||
$GLOBALS['egw']->template->set_var('actionurl',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.index'));
|
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.index'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_done',lang('Done'));
|
$GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
|
||||||
$GLOBALS['egw']->template->set_var('doneurl',$GLOBALS['egw']->link('/admin/index.php'));
|
$GLOBALS['phpgw']->template->set_var('doneurl',$GLOBALS['phpgw']->link('/admin/index.php'));
|
||||||
|
|
||||||
if(!$start)
|
if(!$start)
|
||||||
{
|
{
|
||||||
@ -82,28 +82,28 @@
|
|||||||
$fields = $this->read_custom_fields($start,$limit,$query,$sort);
|
$fields = $this->read_custom_fields($start,$limit,$query,$sort);
|
||||||
$total_records = count($fields);
|
$total_records = count($fields);
|
||||||
|
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('left',$GLOBALS['egw']->nextmatchs->left('/index.php',$start,$total_records,'menuaction=addressbook.uifields.index'));
|
$GLOBALS['phpgw']->template->set_var('left',$GLOBALS['phpgw']->nextmatchs->left('/index.php',$start,$total_records,'menuaction=addressbook.uifields.index'));
|
||||||
$GLOBALS['egw']->template->set_var('right',$GLOBALS['egw']->nextmatchs->right('/index.php',$start,$total_records,'menuaction=addressbook.uifields.index'));
|
$GLOBALS['phpgw']->template->set_var('right',$GLOBALS['phpgw']->nextmatchs->right('/index.php',$start,$total_records,'menuaction=addressbook.uifields.index'));
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('lang_showing',$GLOBALS['egw']->nextmatchs->show_hits($total_records,$start));
|
$GLOBALS['phpgw']->template->set_var('lang_showing',$GLOBALS['phpgw']->nextmatchs->show_hits($total_records,$start));
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('th_bg',$GLOBALS['egw_info']['theme']['th_bg']);
|
$GLOBALS['phpgw']->template->set_var('th_bg',$GLOBALS['phpgw_info']['theme']['th_bg']);
|
||||||
$GLOBALS['egw']->template->set_var('sort_field',$GLOBALS['egw']->nextmatchs->show_sort_order($sort,'name',$order,'/index.php',lang('Name')),'menuaction=addressbook.uifields.index');
|
$GLOBALS['phpgw']->template->set_var('sort_field',$GLOBALS['phpgw']->nextmatchs->show_sort_order($sort,'name',$order,'/index.php',lang('Name')),'menuaction=addressbook.uifields.index');
|
||||||
$GLOBALS['egw']->template->set_var('lang_edit',lang('Edit'));
|
$GLOBALS['phpgw']->template->set_var('lang_edit',lang('Edit'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_delete',lang('Delete'));
|
$GLOBALS['phpgw']->template->set_var('lang_delete',lang('Delete'));
|
||||||
|
|
||||||
for($i=0;$i<count($fields);$i++)
|
for($i=0;$i<count($fields);$i++)
|
||||||
{
|
{
|
||||||
$tr_color = $GLOBALS['egw']->nextmatchs->alternate_row_color($tr_color);
|
$tr_color = $GLOBALS['phpgw']->nextmatchs->alternate_row_color($tr_color);
|
||||||
$GLOBALS['egw']->template->set_var(tr_color,$tr_color);
|
$GLOBALS['phpgw']->template->set_var(tr_color,$tr_color);
|
||||||
|
|
||||||
$field = $fields[$i]['name'];
|
$field = $fields[$i]['name'];
|
||||||
$title = $fields[$i]['title'];
|
$title = $fields[$i]['title'];
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('cfield',$title);
|
$GLOBALS['phpgw']->template->set_var('cfield',$title);
|
||||||
|
|
||||||
$params = array(
|
$params = array(
|
||||||
'menuaction' => 'addressbook.uifields.edit',
|
'menuaction' => 'addressbook.uifields.edit',
|
||||||
@ -114,27 +114,27 @@
|
|||||||
'order' => $order,
|
'order' => $order,
|
||||||
'filter' => $filter
|
'filter' => $filter
|
||||||
);
|
);
|
||||||
$GLOBALS['egw']->template->set_var('edit',$GLOBALS['egw']->link('/index.php',$params));
|
$GLOBALS['phpgw']->template->set_var('edit',$GLOBALS['phpgw']->link('/index.php',$params));
|
||||||
$GLOBALS['egw']->template->set_var('lang_edit_entry',lang('Edit'));
|
$GLOBALS['phpgw']->template->set_var('lang_edit_entry',lang('Edit'));
|
||||||
|
|
||||||
$params['menuaction'] = 'addressbook.uifields.delete';
|
$params['menuaction'] = 'addressbook.uifields.delete';
|
||||||
$GLOBALS['egw']->template->set_var('delete',$GLOBALS['egw']->link('/index.php',$params));
|
$GLOBALS['phpgw']->template->set_var('delete',$GLOBALS['phpgw']->link('/index.php',$params));
|
||||||
$GLOBALS['egw']->template->set_var('lang_delete_entry',lang('Delete'));
|
$GLOBALS['phpgw']->template->set_var('lang_delete_entry',lang('Delete'));
|
||||||
$GLOBALS['egw']->template->parse('list','field_list',True);
|
$GLOBALS['phpgw']->template->parse('list','field_list',True);
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->template->parse('out','field_list_t',True);
|
$GLOBALS['phpgw']->template->parse('out','field_list_t',True);
|
||||||
$GLOBALS['egw']->template->p('out');
|
$GLOBALS['phpgw']->template->p('out');
|
||||||
}
|
}
|
||||||
|
|
||||||
function add()
|
function add()
|
||||||
{
|
{
|
||||||
if(!$GLOBALS['egw']->acl->check('run',1,'admin'))
|
if(!$GLOBALS['phpgw']->acl->check('run',1,'admin'))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo lang('access not permitted');
|
echo lang('access not permitted');
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$field = stripslashes($_POST['field']);
|
$field = stripslashes($_POST['field']);
|
||||||
@ -144,9 +144,9 @@
|
|||||||
$sort = $_POST['sort'];
|
$sort = $_POST['sort'];
|
||||||
$submit = $_POST['submit'];
|
$submit = $_POST['submit'];
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_file(array('form' => 'field_form.tpl'));
|
$GLOBALS['phpgw']->template->set_file(array('form' => 'field_form.tpl'));
|
||||||
$GLOBALS['egw']->template->set_block('form','add','addhandle');
|
$GLOBALS['phpgw']->template->set_block('form','add','addhandle');
|
||||||
$GLOBALS['egw']->template->set_block('form','edit','edithandle');
|
$GLOBALS['phpgw']->template->set_block('form','edit','edithandle');
|
||||||
|
|
||||||
if($submit)
|
if($submit)
|
||||||
{
|
{
|
||||||
@ -169,49 +169,49 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
|
|
||||||
if($errorcount)
|
if($errorcount)
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('message',$GLOBALS['egw']->common->error_list($error));
|
$GLOBALS['phpgw']->template->set_var('message',$GLOBALS['phpgw']->common->error_list($error));
|
||||||
}
|
}
|
||||||
if(($submit) && (!$error) && (!$errorcount))
|
if(($submit) && (!$error) && (!$errorcount))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('message',lang('Field %1 has been added !', $field_name));
|
$GLOBALS['phpgw']->template->set_var('message',lang('Field %1 has been added !', $field_name));
|
||||||
}
|
}
|
||||||
if((!$submit) && (!$error) && (!$errorcount))
|
if((!$submit) && (!$error) && (!$errorcount))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('message','');
|
$GLOBALS['phpgw']->template->set_var('message','');
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('title_fields',lang('Add Custom Field'));
|
$GLOBALS['phpgw']->template->set_var('title_fields',lang('Add Custom Field'));
|
||||||
$GLOBALS['egw']->template->set_var('actionurl',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.add'));
|
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.add'));
|
||||||
$GLOBALS['egw']->template->set_var('doneurl',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.index'));
|
$GLOBALS['phpgw']->template->set_var('doneurl',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.index'));
|
||||||
$GLOBALS['egw']->template->set_var('hidden_vars','<input type="hidden" name="field" value="' . $field . '">');
|
$GLOBALS['phpgw']->template->set_var('hidden_vars','<input type="hidden" name="field" value="' . $field . '">');
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('lang_name',lang('Field name'));
|
$GLOBALS['phpgw']->template->set_var('lang_name',lang('Field name'));
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('lang_add',lang('Add'));
|
$GLOBALS['phpgw']->template->set_var('lang_add',lang('Add'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_reset',lang('Clear Form'));
|
$GLOBALS['phpgw']->template->set_var('lang_reset',lang('Clear Form'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_done',lang('Done'));
|
$GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('field_name',$field_name);
|
$GLOBALS['phpgw']->template->set_var('field_name',$field_name);
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('edithandle','');
|
$GLOBALS['phpgw']->template->set_var('edithandle','');
|
||||||
$GLOBALS['egw']->template->set_var('addhandle','');
|
$GLOBALS['phpgw']->template->set_var('addhandle','');
|
||||||
$GLOBALS['egw']->template->pparse('out','form');
|
$GLOBALS['phpgw']->template->pparse('out','form');
|
||||||
$GLOBALS['egw']->template->pparse('addhandle','add');
|
$GLOBALS['phpgw']->template->pparse('addhandle','add');
|
||||||
}
|
}
|
||||||
|
|
||||||
function edit()
|
function edit()
|
||||||
{
|
{
|
||||||
if(!$GLOBALS['egw']->acl->check('run',1,'admin'))
|
if(!$GLOBALS['phpgw']->acl->check('run',1,'admin'))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo lang('access not permitted');
|
echo lang('access not permitted');
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$field = stripslashes($_POST['field'] ? $_POST['field'] : $_GET['field']);
|
$field = stripslashes($_POST['field'] ? $_POST['field'] : $_GET['field']);
|
||||||
@ -223,12 +223,12 @@
|
|||||||
|
|
||||||
if(!$field)
|
if(!$field)
|
||||||
{
|
{
|
||||||
Header('Location: ' . $GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uifields.index&sort=$sort&query=$query&start=$start"));
|
Header('Location: ' . $GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uifields.index&sort=$sort&query=$query&start=$start"));
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_file(array('form' => 'field_form.tpl'));
|
$GLOBALS['phpgw']->template->set_file(array('form' => 'field_form.tpl'));
|
||||||
$GLOBALS['egw']->template->set_block('form','add','addhandle');
|
$GLOBALS['phpgw']->template->set_block('form','add','addhandle');
|
||||||
$GLOBALS['egw']->template->set_block('form','edit','edithandle');
|
$GLOBALS['phpgw']->template->set_block('form','edit','edithandle');
|
||||||
|
|
||||||
$hidden_vars = '<input type="hidden" name="sort" value="' . $sort . '">' . "\n"
|
$hidden_vars = '<input type="hidden" name="sort" value="' . $sort . '">' . "\n"
|
||||||
. '<input type="hidden" name="query" value="' . $query . '">' . "\n"
|
. '<input type="hidden" name="query" value="' . $query . '">' . "\n"
|
||||||
@ -249,20 +249,20 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
|
|
||||||
if($errorcount)
|
if($errorcount)
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('message',$GLOBALS['egw']->common->error_list($error));
|
$GLOBALS['phpgw']->template->set_var('message',$GLOBALS['phpgw']->common->error_list($error));
|
||||||
}
|
}
|
||||||
if(($submit) && (!$error) && (!$errorcount))
|
if(($submit) && (!$error) && (!$errorcount))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('message',lang('Field %1 has been updated !', $field_name));
|
$GLOBALS['phpgw']->template->set_var('message',lang('Field %1 has been updated !', $field_name));
|
||||||
}
|
}
|
||||||
if((!$submit) && (!$error) && (!$errorcount))
|
if((!$submit) && (!$error) && (!$errorcount))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->template->set_var('message','');
|
$GLOBALS['phpgw']->template->set_var('message','');
|
||||||
}
|
}
|
||||||
|
|
||||||
if($submit)
|
if($submit)
|
||||||
@ -272,39 +272,39 @@
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
$fields = $this->read_custom_fields($start,$limit,$field);
|
$fields = $this->read_custom_fields($start,$limit,$field);
|
||||||
$field = $GLOBALS['egw']->strip_html($fields[0]['title']);
|
$field = $GLOBALS['phpgw']->strip_html($fields[0]['title']);
|
||||||
$fn = $fields[0]['name'];
|
$fn = $fields[0]['name'];
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('title_fields',lang('Edit Custom Field'));
|
$GLOBALS['phpgw']->template->set_var('title_fields',lang('Edit Custom Field'));
|
||||||
$GLOBALS['egw']->template->set_var('actionurl',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.edit'));
|
$GLOBALS['phpgw']->template->set_var('actionurl',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.edit'));
|
||||||
$GLOBALS['egw']->template->set_var('deleteurl',$GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uifields.delete&field=$fn&start=$start&query=$query&sort=$sort"));
|
$GLOBALS['phpgw']->template->set_var('deleteurl',$GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uifields.delete&field=$fn&start=$start&query=$query&sort=$sort"));
|
||||||
$GLOBALS['egw']->template->set_var('doneurl',$GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uifields.index&start=$start&query=$query&sort=$sort"));
|
$GLOBALS['phpgw']->template->set_var('doneurl',$GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uifields.index&start=$start&query=$query&sort=$sort"));
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('hidden_vars',$hidden_vars);
|
$GLOBALS['phpgw']->template->set_var('hidden_vars',$hidden_vars);
|
||||||
$GLOBALS['egw']->template->set_var('lang_name',lang('Field name'));
|
$GLOBALS['phpgw']->template->set_var('lang_name',lang('Field name'));
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('lang_done',lang('Done'));
|
$GLOBALS['phpgw']->template->set_var('lang_done',lang('Done'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_edit',lang('Edit'));
|
$GLOBALS['phpgw']->template->set_var('lang_edit',lang('Edit'));
|
||||||
$GLOBALS['egw']->template->set_var('lang_delete',lang('Delete'));
|
$GLOBALS['phpgw']->template->set_var('lang_delete',lang('Delete'));
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('field_name',$field);
|
$GLOBALS['phpgw']->template->set_var('field_name',$field);
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_var('edithandle','');
|
$GLOBALS['phpgw']->template->set_var('edithandle','');
|
||||||
$GLOBALS['egw']->template->set_var('addhandle','');
|
$GLOBALS['phpgw']->template->set_var('addhandle','');
|
||||||
|
|
||||||
$GLOBALS['egw']->template->pparse('out','form');
|
$GLOBALS['phpgw']->template->pparse('out','form');
|
||||||
$GLOBALS['egw']->template->pparse('edithandle','edit');
|
$GLOBALS['phpgw']->template->pparse('edithandle','edit');
|
||||||
}
|
}
|
||||||
|
|
||||||
function delete()
|
function delete()
|
||||||
{
|
{
|
||||||
if(!$GLOBALS['egw']->acl->check('run',1,'admin'))
|
if(!$GLOBALS['phpgw']->acl->check('run',1,'admin'))
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo lang('access not permitted');
|
echo lang('access not permitted');
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$field = urldecode($_POST['field'] ? $_POST['field'] : $_GET['field']);
|
$field = urldecode($_POST['field'] ? $_POST['field'] : $_GET['field']);
|
||||||
@ -315,17 +315,17 @@
|
|||||||
|
|
||||||
if(!$field)
|
if(!$field)
|
||||||
{
|
{
|
||||||
Header('Location: ' . $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.index'));
|
Header('Location: ' . $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.index'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if($_POST['confirm'])
|
if($_POST['confirm'])
|
||||||
{
|
{
|
||||||
$this->save_custom_field($field);
|
$this->save_custom_field($field);
|
||||||
Header('Location: ' . $GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uifields.index&start=$start&query=$query&sort=$sort"));
|
Header('Location: ' . $GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uifields.index&start=$start&query=$query&sort=$sort"));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
|
|
||||||
$hidden_vars = '<input type="hidden" name="sort" value="' . $sort . '">' . "\n"
|
$hidden_vars = '<input type="hidden" name="sort" value="' . $sort . '">' . "\n"
|
||||||
@ -334,15 +334,15 @@
|
|||||||
. '<input type="hidden" name="start" value="' . $start .'">' . "\n"
|
. '<input type="hidden" name="start" value="' . $start .'">' . "\n"
|
||||||
. '<input type="hidden" name="field" value="' . $field .'">' . "\n";
|
. '<input type="hidden" name="field" value="' . $field .'">' . "\n";
|
||||||
|
|
||||||
$GLOBALS['egw']->template->set_file(array('field_delete' => 'delete_common.tpl'));
|
$GLOBALS['phpgw']->template->set_file(array('field_delete' => 'delete_common.tpl'));
|
||||||
$GLOBALS['egw']->template->set_var('messages',lang('Are you sure you want to delete this field?'));
|
$GLOBALS['phpgw']->template->set_var('messages',lang('Are you sure you want to delete this field?'));
|
||||||
|
|
||||||
$nolinkf = $GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uifields.index&field_id=$field_id&start=$start&query=$query&sort=$sort");
|
$nolinkf = $GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uifields.index&field_id=$field_id&start=$start&query=$query&sort=$sort");
|
||||||
$nolink = '<a href="' . $nolinkf . '">' . lang('No') . '</a>';
|
$nolink = '<a href="' . $nolinkf . '">' . lang('No') . '</a>';
|
||||||
$GLOBALS['egw']->template->set_var('no',$nolink);
|
$GLOBALS['phpgw']->template->set_var('no',$nolink);
|
||||||
|
|
||||||
$yeslinkf = $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifieldsdelete&field_id=' . $field_id . '&confirm=True');
|
$yeslinkf = $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifieldsdelete&field_id=' . $field_id . '&confirm=True');
|
||||||
$yeslinkf = '<form method="POST" name="yesbutton" action="' . $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.delete') . '">'
|
$yeslinkf = '<form method="POST" name="yesbutton" action="' . $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.delete') . '">'
|
||||||
. $hidden_vars
|
. $hidden_vars
|
||||||
. '<input type="hidden" name="field_id" value="' . $field_id . '">'
|
. '<input type="hidden" name="field_id" value="' . $field_id . '">'
|
||||||
. '<input type="hidden" name="confirm" value="True">'
|
. '<input type="hidden" name="confirm" value="True">'
|
||||||
@ -351,9 +351,9 @@
|
|||||||
|
|
||||||
$yeslink = '<a href="' . $yeslinkf . '">' . lang('Yes') . '</a>';
|
$yeslink = '<a href="' . $yeslinkf . '">' . lang('Yes') . '</a>';
|
||||||
$yeslink = $yeslinkf;
|
$yeslink = $yeslinkf;
|
||||||
$GLOBALS['egw']->template->set_var('yes',$yeslink);
|
$GLOBALS['phpgw']->template->set_var('yes',$yeslink);
|
||||||
|
|
||||||
$GLOBALS['egw']->template->pparse('out','field_delete');
|
$GLOBALS['phpgw']->template->pparse('out','field_delete');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@
|
|||||||
|
|
||||||
function uivcard()
|
function uivcard()
|
||||||
{
|
{
|
||||||
$this->template = &$GLOBALS['egw']->template;
|
$this->template = &$GLOBALS['phpgw']->template;
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
$this->contacts = CreateObject('phpgwapi.contacts');
|
||||||
$this->browser = CreateObject('phpgwapi.browser');
|
$this->browser = CreateObject('phpgwapi.browser');
|
||||||
$this->vcard = CreateObject('phpgwapi.vcard');
|
$this->vcard = CreateObject('phpgwapi.vcard');
|
||||||
@ -51,13 +51,13 @@
|
|||||||
$ab_id = $this->bo->add_vcard($uploadedfile);
|
$ab_id = $this->bo->add_vcard($uploadedfile);
|
||||||
if($ab_id)
|
if($ab_id)
|
||||||
{
|
{
|
||||||
Header('Location: ' . $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.view&ab_id=' . $ab_id));
|
Header('Location: ' . $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.view&ab_id=' . $ab_id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
echo '<body bgcolor="' . $GLOBALS['egw_info']['theme']['bg_color'] . '">';
|
echo '<body bgcolor="' . $GLOBALS['phpgw_info']['theme']['bg_color'] . '">';
|
||||||
|
|
||||||
if($action == 'GetFile')
|
if($action == 'GetFile')
|
||||||
{
|
{
|
||||||
@ -68,7 +68,7 @@
|
|||||||
|
|
||||||
$this->template->set_var('lang_load_vcard', lang('load vcard'));
|
$this->template->set_var('lang_load_vcard', lang('load vcard'));
|
||||||
$this->template->set_var('vcard_header','<p> <b>' . lang('Address book - VCard in') . '</b><hr><p>');
|
$this->template->set_var('vcard_header','<p> <b>' . lang('Address book - VCard in') . '</b><hr><p>');
|
||||||
$this->template->set_var('action_url',$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uivcard.in'));
|
$this->template->set_var('action_url',$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uivcard.in'));
|
||||||
$this->template->set_var('lang_access',lang('Access'));
|
$this->template->set_var('lang_access',lang('Access'));
|
||||||
$this->template->set_var('lang_groups',lang('Which groups'));
|
$this->template->set_var('lang_groups',lang('Which groups'));
|
||||||
$this->template->set_var('access_option',$access_option);
|
$this->template->set_var('access_option',$access_option);
|
||||||
@ -76,7 +76,7 @@
|
|||||||
|
|
||||||
$this->template->pparse('out','vcardin');
|
$this->template->pparse('out','vcardin');
|
||||||
|
|
||||||
$GLOBALS['egw']->common->phpgw_footer();
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
|
|
||||||
function out()
|
function out()
|
||||||
@ -87,24 +87,24 @@
|
|||||||
|
|
||||||
if($nolname || $nofname)
|
if($nolname || $nofname)
|
||||||
{
|
{
|
||||||
$GLOBALS['egw']->common->phpgw_header();
|
$GLOBALS['phpgw']->common->phpgw_header();
|
||||||
echo parse_navbar();
|
echo parse_navbar();
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!$ab_id)
|
if(!$ab_id)
|
||||||
{
|
{
|
||||||
Header('Location: ' . $GLOBALS['egw']->link('/addressbook/index.php'));
|
Header('Location: ' . $GLOBALS['phpgw']->link('/addressbook/index.php'));
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
// First, make sure they have permission to this entry
|
// First, make sure they have permission to this entry
|
||||||
$check = $this->bo->read_entry(array('id' => $ab_id, 'fields' => array('owner' => 'owner')));
|
$check = $this->bo->read_entry(array('id' => $ab_id, 'fields' => array('owner' => 'owner')));
|
||||||
$perms = $this->contacts->check_perms($this->contacts->grants[$check[0]['owner']],PHPGW_ACL_READ);
|
$perms = $this->contacts->check_perms($this->contacts->grants[$check[0]['owner']],PHPGW_ACL_READ);
|
||||||
|
|
||||||
if((!$perms) && ($check[0]['owner'] != $GLOBALS['egw_info']['user']['account_id']))
|
if((!$perms) && ($check[0]['owner'] != $GLOBALS['phpgw_info']['user']['account_id']))
|
||||||
{
|
{
|
||||||
Header("Location: " . $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.get_list'));
|
Header("Location: " . $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.get_list'));
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
$extrafields = array('address2' => 'address2');
|
$extrafields = array('address2' => 'address2');
|
||||||
@ -134,11 +134,11 @@
|
|||||||
if($lastname == '')
|
if($lastname == '')
|
||||||
{
|
{
|
||||||
/* Run away here. */
|
/* Run away here. */
|
||||||
Header('Location: ' . $GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uivcard.out&nolname=1&ab_id=$ab_id"));
|
Header('Location: ' . $GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uivcard.out&nolname=1&ab_id=$ab_id"));
|
||||||
}
|
}
|
||||||
if($firstname == '')
|
if($firstname == '')
|
||||||
{
|
{
|
||||||
Header('Location: ' . $GLOBALS['egw']->link('/index.php',"menuaction=addressbook.uivcard.out&nofname=1&ab_id=$ab_id"));
|
Header('Location: ' . $GLOBALS['phpgw']->link('/index.php',"menuaction=addressbook.uivcard.out&nofname=1&ab_id=$ab_id"));
|
||||||
}
|
}
|
||||||
|
|
||||||
if($email)
|
if($email)
|
||||||
@ -177,7 +177,7 @@
|
|||||||
$this->browser->content_header($filename,'text/x-vcard');
|
$this->browser->content_header($filename,'text/x-vcard');
|
||||||
echo $entry;
|
echo $entry;
|
||||||
exit;
|
exit;
|
||||||
//$GLOBALS['egw']->common->exit;
|
//$GLOBALS['phpgw']->common->exit;
|
||||||
} /* !nolname && !nofname */
|
} /* !nolname && !nofname */
|
||||||
|
|
||||||
if($nofname)
|
if($nofname)
|
||||||
@ -185,7 +185,7 @@
|
|||||||
echo '<br><br><center>';
|
echo '<br><br><center>';
|
||||||
echo lang("This person's first name was not in the address book.") .'<br>';
|
echo lang("This person's first name was not in the address book.") .'<br>';
|
||||||
echo lang('Vcards require a first name entry.') . '<br><br>';
|
echo lang('Vcards require a first name entry.') . '<br><br>';
|
||||||
echo '<a href="' . $GLOBALS['egw']->link('/addressbook/index.php',
|
echo '<a href="' . $GLOBALS['phpgw']->link('/addressbook/index.php',
|
||||||
"order=$order&start=$start&filter=$filter&query=$query&sort=$sort&cat_id=$cat_id") . '">' . lang('OK') . '</a>';
|
"order=$order&start=$start&filter=$filter&query=$query&sort=$sort&cat_id=$cat_id") . '">' . lang('OK') . '</a>';
|
||||||
echo '</center>';
|
echo '</center>';
|
||||||
}
|
}
|
||||||
@ -195,14 +195,14 @@
|
|||||||
echo '<br><br><center>';
|
echo '<br><br><center>';
|
||||||
echo lang("This person's last name was not in the address book.") . '<br>';
|
echo lang("This person's last name was not in the address book.") . '<br>';
|
||||||
echo lang('Vcards require a last name entry.') . '<br><br>';
|
echo lang('Vcards require a last name entry.') . '<br><br>';
|
||||||
echo '<a href="' . $GLOBALS['egw']->link('/addressbook/index.php',
|
echo '<a href="' . $GLOBALS['phpgw']->link('/addressbook/index.php',
|
||||||
"order=$order&start=$start&filter=$filter&query=$query&sort=$sort&cat_id=$cat_id") . '">' . lang('OK') . '</a>';
|
"order=$order&start=$start&filter=$filter&query=$query&sort=$sort&cat_id=$cat_id") . '">' . lang('OK') . '</a>';
|
||||||
echo '</center>';
|
echo '</center>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if($nolname || $nofname)
|
if($nolname || $nofname)
|
||||||
{
|
{
|
||||||
//$GLOBALS['egw']->common->phpgw_footer();
|
//$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,160 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// export file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array("LastName" => "FullName","FirstName" => "+, ");
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
class export_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
//list of all id's
|
|
||||||
var $ids = array();
|
|
||||||
var $type = 'ldif';
|
|
||||||
|
|
||||||
var $export = array(
|
|
||||||
'title' => 'title',
|
|
||||||
'n_given' => 'givenname',
|
|
||||||
'n_family' => 'sn',
|
|
||||||
'fn' => 'cn',
|
|
||||||
'org_name' => 'o',
|
|
||||||
'org_unit' => 'ou',
|
|
||||||
'adr_one_street' => 'postaladdress',
|
|
||||||
'address2' => 'mozillaPostalAddress2',
|
|
||||||
'adr_one_locality' => 'l',
|
|
||||||
'adr_one_region' => 'st',
|
|
||||||
'adr_one_postalcode' => 'postalcode',
|
|
||||||
'adr_one_countryname' => 'c',
|
|
||||||
'adr_two_street' => 'homepostaladdress',
|
|
||||||
'adr_two_locality' => 'mozillahomelocalityname',
|
|
||||||
'adr_two_region' => 'mozillahomestate',
|
|
||||||
'adr_two_postalcode' => 'mozillahomepostalcode',
|
|
||||||
'adr_two_countryname' => 'mozillahomecountryname',
|
|
||||||
'tel_work' => 'telephonenumber',
|
|
||||||
'tel_home' => 'homephone',
|
|
||||||
'tel_fax' => 'facsimiletelephonenumber',
|
|
||||||
'ophone' => 'custom1',
|
|
||||||
'tel_cell' => 'mobile',
|
|
||||||
'note' => 'description',
|
|
||||||
'tel_pager' => 'pagerp',
|
|
||||||
'email' => 'mail',
|
|
||||||
'url' => 'workurl'
|
|
||||||
);
|
|
||||||
|
|
||||||
// This will store the contacts object
|
|
||||||
var $contacts = '';
|
|
||||||
|
|
||||||
// Read full list of user's contacts only to get id's for each
|
|
||||||
function export_start_file($buffer,$ncat_id='')
|
|
||||||
{
|
|
||||||
$this->id = -1;
|
|
||||||
if($ncat_id)
|
|
||||||
{
|
|
||||||
$filter = 'tid=n,cat_id=' . $ncat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$filter = 'tid=n';
|
|
||||||
}
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
$tmp = $this->contacts->read('','',array('id'=>'id'),'',$filter);
|
|
||||||
for($i=0;$i<count($tmp);$i++)
|
|
||||||
{
|
|
||||||
$this->ids[$i] = $tmp[$i]['id'];
|
|
||||||
}
|
|
||||||
// $ids is now an array of all id's for this user, e.g. $ids[0] = 21, etc...
|
|
||||||
// $buffer is still empty
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each entry
|
|
||||||
function export_start_record($buffer)
|
|
||||||
{
|
|
||||||
$this->id++;
|
|
||||||
$top = $this->contacts->read_single_entry($this->ids[$this->id],$this->qfields);
|
|
||||||
$this->currentrecord = $top[0];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each attribute, populate buffer
|
|
||||||
// name/value are the fields from the export array above
|
|
||||||
function export_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
if($this->export[$name])
|
|
||||||
{
|
|
||||||
if(strstr($value,"\n"))
|
|
||||||
{
|
|
||||||
$value = ': '.base64_encode($value);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$value = ' '.$value;
|
|
||||||
}
|
|
||||||
$buffer[$this->id][$this->export[$name]] = $value;
|
|
||||||
//echo '<br>'.$this->id.' - '.$this->export[$name].': '.$buffer[$this->id][$this->export[$name]];
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tack on some extra values
|
|
||||||
function export_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id]['dn'] = 'cn='.$buffer[$this->id]['cn'].',mail='.$buffer[$this->id]['mail'];
|
|
||||||
$buffer[$this->id]['xmozillauseconferenceserver'] = '0';
|
|
||||||
$buffer[$this->id]['xmozillanickname'] = '';
|
|
||||||
$buffer[$this->id]['xmozillausehtmlmail'] = 'False';
|
|
||||||
if($buffer[$this->id]['ophone'])
|
|
||||||
{
|
|
||||||
$buffer[$this->id]['xmozillaanyphone'] = $buffer[$this->id]['ophone'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$buffer[$this->id]['xmozillaanyphone'] = $buffer[$this->id]['telephonenumber'];
|
|
||||||
}
|
|
||||||
//echo '<br>'.$this->id.' - '.$buffer[$this->id]['dn'];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function export_end_file($buffer)
|
|
||||||
{
|
|
||||||
reset($this->ids);
|
|
||||||
for($i=0;$i<count($this->ids);$i++)
|
|
||||||
{
|
|
||||||
$entries .= 'dn: ' . $buffer[$i]['dn'] . "\n";
|
|
||||||
reset($this->export);
|
|
||||||
while(list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
if($value != 'dn')
|
|
||||||
{
|
|
||||||
$entries .= $value . ":" . $buffer[$i][$value] . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$entries .= 'xmozillauseconferenceserver: ' . $buffer[$i]['xmozillauseconferenceserver'] . "\n";
|
|
||||||
$entries .= 'xmozillanickname: ' . $buffer[$i]['xmozillanickname'] . "\n";
|
|
||||||
$entries .= 'xmozillausehtmlmail: ' . $buffer[$i]['xmozillausehtmlmail'] . "\n";
|
|
||||||
$entries .= 'xmozillaanyphone: ' . $buffer[$i]['xmozillaanyphone'] . "\n";
|
|
||||||
$entries .= 'objectClass: person' . "\n";
|
|
||||||
$entries .= 'objectClass: account' . "\n";
|
|
||||||
$entries .= 'objectClass: organizationalPerson' . "\n";
|
|
||||||
$entries .= 'objectClass: posixAccount' . "\n";
|
|
||||||
$entries .= 'objectClass: inetOrgPerson' . "\n";
|
|
||||||
$entries .= 'objectClass: shadowAccount' . "\n";
|
|
||||||
$entries .= "\n";
|
|
||||||
}
|
|
||||||
$buffer = $entries;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -84,10 +84,6 @@
|
|||||||
'email_home' => 'email_home'
|
'email_home' => 'email_home'
|
||||||
);
|
);
|
||||||
|
|
||||||
/* This will store the contacts and vcard objects */
|
|
||||||
var $contacts = '';
|
|
||||||
var $vcard = '';
|
|
||||||
|
|
||||||
/* Read full list of user's contacts only to get id's for each */
|
/* Read full list of user's contacts only to get id's for each */
|
||||||
function export_start_file($buffer,$ncat_id='')
|
function export_start_file($buffer,$ncat_id='')
|
||||||
{
|
{
|
||||||
|
@ -1,155 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// export file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array("LastName" => "FullName","FirstName" => "+, ");
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
class export_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
//list of all id's
|
|
||||||
var $ids = array();
|
|
||||||
var $type = 'ldif';
|
|
||||||
|
|
||||||
var $export= array(
|
|
||||||
'title' => 'title',
|
|
||||||
'n_given' => 'givenname',
|
|
||||||
'n_family' => 'sn',
|
|
||||||
'fn' => 'cn',
|
|
||||||
'org_name' => 'o',
|
|
||||||
'org_unit' => 'ou',
|
|
||||||
'adr_one_street' => 'streetaddress',
|
|
||||||
'adr_one_locality' => 'locality',
|
|
||||||
'adr_one_region' => 'st',
|
|
||||||
'adr_one_postalcode' => 'postalcode',
|
|
||||||
'adr_one_countryname' => 'countryname',
|
|
||||||
'tel_work' => 'telephonenumber',
|
|
||||||
'tel_home' => 'homephone',
|
|
||||||
'tel_fax' => 'facsimiletelephonenumber',
|
|
||||||
'ophone' => 'xmozillaanyphone',
|
|
||||||
'tel_cell' => 'cellphone',
|
|
||||||
'note' => 'description',
|
|
||||||
'ophone' => 'ophone',
|
|
||||||
'tel_pager' => 'pagerphone',
|
|
||||||
'email' => 'mail',
|
|
||||||
'url' => 'homeurl',
|
|
||||||
);
|
|
||||||
|
|
||||||
// This will store the contacts object
|
|
||||||
var $contacts = '';
|
|
||||||
|
|
||||||
// Read full list of user's contacts only to get id's for each
|
|
||||||
function export_start_file($buffer,$ncat_id='')
|
|
||||||
{
|
|
||||||
$this->id=-1;
|
|
||||||
if ($ncat_id)
|
|
||||||
{
|
|
||||||
$filter = 'tid=n,cat_id=' . $ncat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$filter = 'tid=n';
|
|
||||||
}
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
$tmp = $this->contacts->read('','',array('id'=>'id'),'',$filter);
|
|
||||||
for ($i=0;$i<count($tmp);$i++)
|
|
||||||
{
|
|
||||||
$this->ids[$i] = $tmp[$i]['id'];
|
|
||||||
}
|
|
||||||
// $ids is now an array of all id's for this user, e.g. $ids[0] = 21, etc...
|
|
||||||
// $buffer is still empty
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each entry
|
|
||||||
function export_start_record($buffer)
|
|
||||||
{
|
|
||||||
$this->id++;
|
|
||||||
$top = $this->contacts->read_single_entry($this->ids[$this->id],$this->qfields);
|
|
||||||
$this->currentrecord = $top[0];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each attribute, populate buffer
|
|
||||||
// name/value are the fields from the export array above
|
|
||||||
function export_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
if ($this->export[$name])
|
|
||||||
{
|
|
||||||
if (strstr($value,"\n"))
|
|
||||||
{
|
|
||||||
$value = ': '.base64_encode($value);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$value = ' '.$value;
|
|
||||||
}
|
|
||||||
$buffer[$this->id][$this->export[$name]] = $value;
|
|
||||||
//echo '<br>'.$this->id.' - '.$this->export[$name].': '.$buffer[$this->id][$this->export[$name]];
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tack on some extra values
|
|
||||||
function export_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id]['dn'] = 'cn='.$buffer[$this->id]['cn'].',mail='.$buffer[$this->id]['mail'];
|
|
||||||
$buffer[$this->id]['xmozillauseconferenceserver'] = '0';
|
|
||||||
$buffer[$this->id]['xmozillanickname'] = '';
|
|
||||||
$buffer[$this->id]['xmozillausehtmlmail'] = 'False';
|
|
||||||
if ($buffer[$this->id]['ophone'])
|
|
||||||
{
|
|
||||||
$buffer[$this->id]['xmozillaanyphone'] = $buffer[$this->id]['ophone'];
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$buffer[$this->id]['xmozillaanyphone'] = $buffer[$this->id]['telephonenumber'];
|
|
||||||
}
|
|
||||||
//echo '<br>'.$this->id.' - '.$buffer[$this->id]['dn'];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function export_end_file($buffer)
|
|
||||||
{
|
|
||||||
reset($this->ids);
|
|
||||||
for ($i=0;$i<count($this->ids);$i++)
|
|
||||||
{
|
|
||||||
$entries .= 'dn: ' . $buffer[$i]['dn'] . "\n";
|
|
||||||
reset($this->export);
|
|
||||||
while (list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
if ($value != 'dn')
|
|
||||||
{
|
|
||||||
$entries .= $value . ":" . $buffer[$i][$value] . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$entries .= 'xmozillauseconferenceserver: ' . $buffer[$i]['xmozillauseconferenceserver'] . "\n";
|
|
||||||
$entries .= 'xmozillanickname: ' . $buffer[$i]['xmozillanickname'] . "\n";
|
|
||||||
$entries .= 'xmozillausehtmlmail: ' . $buffer[$i]['xmozillausehtmlmail'] . "\n";
|
|
||||||
$entries .= 'xmozillaanyphone: ' . $buffer[$i]['xmozillaanyphone'] . "\n";
|
|
||||||
$entries .= 'objectClass: person' . "\n";
|
|
||||||
$entries .= 'objectClass: account' . "\n";
|
|
||||||
$entries .= 'objectClass: organizationalPerson' . "\n";
|
|
||||||
$entries .= 'objectClass: posixAccount' . "\n";
|
|
||||||
$entries .= 'objectClass: inetOrgPerson' . "\n";
|
|
||||||
$entries .= 'objectClass: shadowAccount' . "\n";
|
|
||||||
$entries .= "\n";
|
|
||||||
}
|
|
||||||
$buffer = $entries;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,148 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// export file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// An exported Outlook file looks like this:
|
|
||||||
//
|
|
||||||
// Title<tab>First Name<tab>Middle Name<tab>Last Name<tab>...
|
|
||||||
// <tab>Patrick<tab><tab>Walsh<tab>...
|
|
||||||
//
|
|
||||||
// Where the first line explains each optional field. This is what
|
|
||||||
// will be looked up in the key.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array("LastName" => "FullName","FirstName" => "+, ");
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
class export_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
var $type = 'csv';
|
|
||||||
|
|
||||||
var $export = array(
|
|
||||||
'title' => 'Anrede',
|
|
||||||
'n_given' => 'Vorname',
|
|
||||||
'n_middle' => 'Weitere Vornamen',
|
|
||||||
'n_family' => 'Nachname',
|
|
||||||
'n_suffix' => 'Suffix',
|
|
||||||
'org_name' => 'Firma',
|
|
||||||
'org_unit' => 'Abteilung',
|
|
||||||
'adr_one_street' => 'Straße geschäftlich',
|
|
||||||
'address2' => 'Straße geschäftlich 2',
|
|
||||||
'address3' => 'Straße geschäftlich 3',
|
|
||||||
'adr_one_locality' => 'Ort geschäftlich',
|
|
||||||
'adr_one_region' => 'Region geschäftlich',
|
|
||||||
'adr_one_postalcode' => 'Postleitzahl geschäftlich',
|
|
||||||
'adr_one_countryname' => 'Land geschäftlich',
|
|
||||||
'adr_two_street' => 'Straße privat',
|
|
||||||
'adr_two_locality' => 'Ort privat',
|
|
||||||
'adr_two_region' => 'Region privat',
|
|
||||||
'adr_two_postalcode' => 'Postleitzahl privat',
|
|
||||||
'adr_two_countryname' => 'Land privat',
|
|
||||||
'tel_fax' => 'Fax geschäftlich',
|
|
||||||
'tel_work' => 'Telefon geschäftlich',
|
|
||||||
'tel_msg' => 'Telefon Assistent',
|
|
||||||
'tel_car' => 'Autotelefon',
|
|
||||||
'tel_isdn' => 'ISDN',
|
|
||||||
'tel_home' => 'Telefon privat',
|
|
||||||
'tel_cell' => 'Mobiltelefon',
|
|
||||||
'tel_pager' => 'Pager',
|
|
||||||
'ophone' => 'Telefon geschäftlich 2',
|
|
||||||
'bday' => 'Geburtstag',
|
|
||||||
'email' => 'E-Mail-Adresse',
|
|
||||||
'email_home' => 'E-Mail 2: Adresse',
|
|
||||||
'url' => 'Webseite',
|
|
||||||
'note' => 'Notizen'
|
|
||||||
);
|
|
||||||
|
|
||||||
// This will store the contacts object
|
|
||||||
var $contacts = '';
|
|
||||||
|
|
||||||
function export_start_file($buffer,$ncat_id='')
|
|
||||||
{
|
|
||||||
$this->id=-1;
|
|
||||||
if ($ncat_id)
|
|
||||||
{
|
|
||||||
$filter = 'tid=n,cat_id='.$ncat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$filter = 'tid=n';
|
|
||||||
}
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
$tmp = $this->contacts->read('','',array('id'=>'id'),'',$filter);
|
|
||||||
for ($i=0;$i<count($tmp);$i++)
|
|
||||||
{
|
|
||||||
$this->ids[$i] = $tmp[$i]['id'];
|
|
||||||
}
|
|
||||||
// $ids is now an array of all id's for this user, e.g. $ids[0] = 21, etc...
|
|
||||||
// $buffer is still empty
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each entry
|
|
||||||
function export_start_record($buffer)
|
|
||||||
{
|
|
||||||
$this->id++;
|
|
||||||
$top = $this->contacts->read_single_entry($this->ids[$this->id],$this->qfields);
|
|
||||||
$this->currentrecord = $top[0];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each attribute, populate buffer
|
|
||||||
// name/value are the fields from the export array above
|
|
||||||
function export_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
if ($this->export[$name])
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$this->export[$name]] = $value;
|
|
||||||
//echo '<br>'.$this->id.' - '.$this->export[$name].': '.$buffer[$this->id][$this->export[$name]];
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tack on some extra values
|
|
||||||
function export_end_record($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function export_end_file($buffer)
|
|
||||||
{
|
|
||||||
// Build the header for the file (field list)
|
|
||||||
reset($this->export);
|
|
||||||
while (list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
$entries .= $value . ',';
|
|
||||||
}
|
|
||||||
$entries = substr($entries,0,-1);
|
|
||||||
$entries .= "\r\n";
|
|
||||||
|
|
||||||
// Now add all the data
|
|
||||||
reset($this->ids);
|
|
||||||
for ($i=0;$i<count($this->ids);$i++)
|
|
||||||
{
|
|
||||||
reset($this->export);
|
|
||||||
while (list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
$entries .= $buffer[$i][$value] . ',';
|
|
||||||
}
|
|
||||||
$entries = substr($entries,0,-1);
|
|
||||||
$entries .= "\r\n";
|
|
||||||
}
|
|
||||||
$buffer = $entries;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,148 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// export file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// An exported Outlook file looks like this:
|
|
||||||
//
|
|
||||||
// Title<tab>First Name<tab>Middle Name<tab>Last Name<tab>...
|
|
||||||
// <tab>Patrick<tab><tab>Walsh<tab>...
|
|
||||||
//
|
|
||||||
// Where the first line explains each optional field. This is what
|
|
||||||
// will be looked up in the key.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array("LastName" => "FullName","FirstName" => "+, ");
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
class export_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
var $type = 'csv';
|
|
||||||
|
|
||||||
var $export = array(
|
|
||||||
'title' => 'Title',
|
|
||||||
'n_given' => 'First Name',
|
|
||||||
'n_middle' => 'Middle Name',
|
|
||||||
'n_family' => 'Last Name',
|
|
||||||
'n_suffix' => 'Suffix',
|
|
||||||
'org_name' => 'Company',
|
|
||||||
'org_unit' => 'Department',
|
|
||||||
'adr_one_street' => 'Business Street',
|
|
||||||
'address2' => 'Business Street 2',
|
|
||||||
'address3' => 'Business Street 3',
|
|
||||||
'adr_one_locality' => 'Business City',
|
|
||||||
'adr_one_region' => 'Business State',
|
|
||||||
'adr_one_postalcode' => 'Business Postal Code',
|
|
||||||
'adr_one_countryname' => 'Business Country',
|
|
||||||
'adr_two_street' => 'Home Street',
|
|
||||||
'adr_two_locality' => 'Home City',
|
|
||||||
'adr_two_region' => 'Home State',
|
|
||||||
'adr_two_postalcode' => 'Home Postal Code',
|
|
||||||
'adr_two_countryname' => 'Home Country',
|
|
||||||
'tel_fax' => 'Business Fax',
|
|
||||||
'tel_work' => 'Business Phone',
|
|
||||||
'tel_msg' => "Assistant's Phone",
|
|
||||||
'tel_car' => 'Car Phone',
|
|
||||||
'tel_isdn' => 'ISDN',
|
|
||||||
'tel_home' => 'Home Phone',
|
|
||||||
'tel_cell' => 'Mobile Phone',
|
|
||||||
'tel_pager' => 'Pager',
|
|
||||||
'ophone' => 'Business Phone 2',
|
|
||||||
'bday' => 'Birthday',
|
|
||||||
'email' => 'E-mail Address',
|
|
||||||
'email_home' => 'E-mail Address 2',
|
|
||||||
'url' => 'Web Page',
|
|
||||||
'note' => 'Notes'
|
|
||||||
);
|
|
||||||
|
|
||||||
// This will store the contacts object
|
|
||||||
var $contacts = '';
|
|
||||||
|
|
||||||
function export_start_file($buffer,$ncat_id='')
|
|
||||||
{
|
|
||||||
$this->id=-1;
|
|
||||||
if ($ncat_id)
|
|
||||||
{
|
|
||||||
$filter = 'tid=n,cat_id='.$ncat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$filter = 'tid=n';
|
|
||||||
}
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
$tmp = $this->contacts->read('','',array('id'=>'id'),'',$filter);
|
|
||||||
for ($i=0;$i<count($tmp);$i++)
|
|
||||||
{
|
|
||||||
$this->ids[$i] = $tmp[$i]['id'];
|
|
||||||
}
|
|
||||||
// $ids is now an array of all id's for this user, e.g. $ids[0] = 21, etc...
|
|
||||||
// $buffer is still empty
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each entry
|
|
||||||
function export_start_record($buffer)
|
|
||||||
{
|
|
||||||
$this->id++;
|
|
||||||
$top = $this->contacts->read_single_entry($this->ids[$this->id],$this->qfields);
|
|
||||||
$this->currentrecord = $top[0];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each attribute, populate buffer
|
|
||||||
// name/value are the fields from the export array above
|
|
||||||
function export_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
if ($this->export[$name])
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$this->export[$name]] = $value;
|
|
||||||
//echo '<br>'.$this->id.' - '.$this->export[$name].': '.$buffer[$this->id][$this->export[$name]];
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tack on some extra values
|
|
||||||
function export_end_record($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function export_end_file($buffer)
|
|
||||||
{
|
|
||||||
// Build the header for the file (field list)
|
|
||||||
reset($this->export);
|
|
||||||
while (list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
$entries .= $value . ',';
|
|
||||||
}
|
|
||||||
$entries = substr($entries,0,-1);
|
|
||||||
$entries .= "\r\n";
|
|
||||||
|
|
||||||
// Now add all the data
|
|
||||||
reset($this->ids);
|
|
||||||
for ($i=0;$i<count($this->ids);$i++)
|
|
||||||
{
|
|
||||||
reset($this->export);
|
|
||||||
while (list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
$entries .= $buffer[$i][$value] . ',';
|
|
||||||
}
|
|
||||||
$entries = substr($entries,0,-1);
|
|
||||||
$entries .= "\r\n";
|
|
||||||
}
|
|
||||||
$buffer = $entries;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,136 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// export file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array("LastName" => "FullName","FirstName" => "+, ");
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
class export_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
//list of all id's
|
|
||||||
var $ids = array();
|
|
||||||
var $type = 'pdb';
|
|
||||||
|
|
||||||
var $export = array(
|
|
||||||
'title' => 'Title',
|
|
||||||
'n_given' => 'First',
|
|
||||||
'n_middle' => 'Middle',
|
|
||||||
'n_family' => 'Last',
|
|
||||||
'n_suffix' => 'Suffix',
|
|
||||||
'org_name' => 'Company',
|
|
||||||
'org_unit' => 'Dept',
|
|
||||||
'adr_one_street' => 'Bus. Street',
|
|
||||||
'address2' => 'Bus. St. 2',
|
|
||||||
'address3' => 'Bus. St. 3',
|
|
||||||
'adr_one_locality' => 'Bus. City',
|
|
||||||
'adr_one_region' => 'Bus. State',
|
|
||||||
'adr_one_postalcode' => 'Bus. Postal Code',
|
|
||||||
'adr_one_countryname' => 'Bus. Country',
|
|
||||||
'adr_two_street' => 'Home Street',
|
|
||||||
'adr_two_locality' => 'Home City',
|
|
||||||
'adr_two_region' => 'Home State',
|
|
||||||
'adr_two_postalcode' => 'Home Postal Code',
|
|
||||||
'adr_two_countryname' => 'Home Country',
|
|
||||||
'tel_fax' => 'Bus. Fax',
|
|
||||||
'tel_work' => 'Bus. Phone',
|
|
||||||
'tel_msg' => "Assistant's Phone",
|
|
||||||
'tel_car' => 'Car Phone',
|
|
||||||
'tel_isdn' => 'ISDN',
|
|
||||||
'tel_home' => 'Home Phone',
|
|
||||||
'tel_cell' => 'Mobile Phone',
|
|
||||||
'tel_pager' => 'Pager',
|
|
||||||
'ophone' => 'Bus. Phone2',
|
|
||||||
'bday' => 'Birthday',
|
|
||||||
'email' => 'Email Addr',
|
|
||||||
'email_home' => 'Email Addr2',
|
|
||||||
'url' => 'URL',
|
|
||||||
'note' => 'Notes'
|
|
||||||
);
|
|
||||||
|
|
||||||
// This will store the contacts object
|
|
||||||
var $contacts = '';
|
|
||||||
|
|
||||||
// Read full list of user's contacts only to get id's for each
|
|
||||||
function export_start_file($buffer,$ncat_id='')
|
|
||||||
{
|
|
||||||
$this->id=-1;
|
|
||||||
if ($ncat_id)
|
|
||||||
{
|
|
||||||
$filter = 'tid=n,cat_id='.$ncat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$filter = 'tid=n';
|
|
||||||
}
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
$tmp = $this->contacts->read('','',array('id'=>'id'),'',$filter);
|
|
||||||
for ($i=0;$i<count($tmp);$i++)
|
|
||||||
{
|
|
||||||
$this->ids[$i] = $tmp[$i]['id'];
|
|
||||||
}
|
|
||||||
// $ids is now an array of all id's for this user, e.g. $ids[0] = 21, etc...
|
|
||||||
// $buffer is still empty
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each entry
|
|
||||||
function export_start_record($buffer)
|
|
||||||
{
|
|
||||||
$this->id++;
|
|
||||||
$top = $this->contacts->read_single_entry($this->ids[$this->id],$this->qfields);
|
|
||||||
$this->currentrecord = $top[0];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each attribute, populate buffer array
|
|
||||||
// name/value are the fields from the export array above
|
|
||||||
function export_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
if ($this->export[$name])
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$this->export[$name]] = $value;
|
|
||||||
//echo '<br>'.$this->id.' - '.$this->export[$name].': '.$buffer[$this->id][$this->export[$name]];
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tack on some extra values - none for this file
|
|
||||||
function export_end_record($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Parse it all into a string
|
|
||||||
function export_end_file($buffer)
|
|
||||||
{
|
|
||||||
reset($this->ids);
|
|
||||||
|
|
||||||
for($i=0;$i<count($this->ids);$i++)
|
|
||||||
{
|
|
||||||
$j = $i + 1;
|
|
||||||
reset($this->export);
|
|
||||||
$entries .= "#" . $j . ":" . $buffer[$i]['n_given'] . $buffer[$i]['n_family'] . "\r\n";
|
|
||||||
while (list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
$entries .= $value . ":\t" . $buffer[$i][$value] . "\n";
|
|
||||||
}
|
|
||||||
$entries .= "\r\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
return $entries;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,178 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// export file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array("LastName" => "FullName","FirstName" => "+, ");
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
class export_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
//list of all id's
|
|
||||||
var $ids = array();
|
|
||||||
var $type = 'ldif';
|
|
||||||
|
|
||||||
var $export = array(
|
|
||||||
'id' => 'uidnumber',
|
|
||||||
'lid' => 'uid',
|
|
||||||
'tid' => 'phpgwcontacttypeid',
|
|
||||||
'owner' => 'phpgwcontactowner',
|
|
||||||
'access' => 'phpgwcontactaccess',
|
|
||||||
'fn' => 'cn', // 'prefix given middle family suffix'
|
|
||||||
'n_given' => 'givenname', // firstname
|
|
||||||
'n_family' => 'sn', // lastname
|
|
||||||
'n_middle' => 'phpgwmiddlename',
|
|
||||||
'n_prefix' => 'phpgwprefix',
|
|
||||||
'n_suffix' => 'phpgwsuffix',
|
|
||||||
'sound' => 'phpgwaudio',
|
|
||||||
'bday' => 'phpgwbirthday',
|
|
||||||
'note' => 'description',
|
|
||||||
'tz' => 'phpgwtz',
|
|
||||||
'geo' => 'phpgwgeo',
|
|
||||||
'url' => 'phpgwurl',
|
|
||||||
'pubkey' => 'phpgwpublickey',
|
|
||||||
|
|
||||||
'org_name' => 'o', // company
|
|
||||||
'org_unit' => 'ou', // division
|
|
||||||
'title' => 'title',
|
|
||||||
|
|
||||||
'adr_one_street' => 'streetaddress',
|
|
||||||
'adr_one_locality' => 'localityname',
|
|
||||||
'adr_one_region' => 'st',
|
|
||||||
'adr_one_postalcode' => 'postalcode',
|
|
||||||
'adr_one_countryname' => 'co',
|
|
||||||
'adr_one_type' => 'phpgwadronetype', // address is domestic/intl/postal/parcel/work/home
|
|
||||||
'label' => 'phpgwaddresslabel', // address label
|
|
||||||
|
|
||||||
'adr_two_street' => 'phpgwadrtwostreet',
|
|
||||||
'adr_two_locality' => 'phpgwadrtwolocality',
|
|
||||||
'adr_two_region' => 'phpgwadrtworegion',
|
|
||||||
'adr_two_postalcode' => 'phpgwadrtwopostalcode',
|
|
||||||
'adr_two_countryname' => 'phpgwadrtwocountryname',
|
|
||||||
'adr_two_type' => 'phpgwadrtwotype', // address is domestic/intl/postal/parcel/work/home
|
|
||||||
|
|
||||||
'tel_work' => 'telephonenumber',
|
|
||||||
'tel_home' => 'homephone',
|
|
||||||
'tel_voice' => 'phpgwvoicetelephonenumber',
|
|
||||||
'tel_fax' => 'facsimiletelephonenumber',
|
|
||||||
'tel_msg' => 'phpgwmsgtelephonenumber',
|
|
||||||
'tel_cell' => 'phpgwcelltelephonenumber',
|
|
||||||
'tel_pager' => 'phpgwpagertelephonenumber',
|
|
||||||
'tel_bbs' => 'phpgwbbstelephonenumber',
|
|
||||||
'tel_modem' => 'phpgwmodemtelephonenumber',
|
|
||||||
'tel_car' => 'phpgwmobiletelephonenumber',
|
|
||||||
'tel_isdn' => 'phpgwisdnphonenumber',
|
|
||||||
'tel_video' => 'phpgwvideophonenumber',
|
|
||||||
'tel_prefer' => 'phpgwpreferphone', // home, work, voice, etc
|
|
||||||
'email' => 'mail',
|
|
||||||
'email_type' => 'phpgwmailtype', //'INTERNET','CompuServe',etc...
|
|
||||||
'email_home' => 'phpgwmailhome',
|
|
||||||
'email_home_type' => 'phpgwmailhometype' //'INTERNET','CompuServe',etc...
|
|
||||||
);
|
|
||||||
|
|
||||||
// This will store the contacts object
|
|
||||||
var $contacts = '';
|
|
||||||
|
|
||||||
// Read full list of user's contacts only to get id's for each
|
|
||||||
function export_start_file($buffer,$ncat_id='')
|
|
||||||
{
|
|
||||||
$this->id=-1;
|
|
||||||
if ($ncat_id)
|
|
||||||
{
|
|
||||||
$filter = 'tid=n,cat_id='.$ncat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$filter = 'tid=n';
|
|
||||||
}
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
$tmp = $this->contacts->read('','',array('id'=>'id'),'',$filter);
|
|
||||||
for ($i=0;$i<count($tmp);$i++)
|
|
||||||
{
|
|
||||||
$this->ids[$i] = $tmp[$i]['id'];
|
|
||||||
}
|
|
||||||
// $ids is now an array of all id's for this user, e.g. $ids[0] = 21, etc...
|
|
||||||
// $buffer is still empty
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each entry
|
|
||||||
function export_start_record($buffer)
|
|
||||||
{
|
|
||||||
$this->id++;
|
|
||||||
$top = $this->contacts->read_single_entry($this->ids[$this->id],$this->qfields);
|
|
||||||
$this->currentrecord = $top[0];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each attribute, populate buffer
|
|
||||||
// name/value are the fields from the export array above
|
|
||||||
function export_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
if ($this->export[$name] && ($value != '') )
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$this->export[$name]] = $value;
|
|
||||||
//echo '<br>'.$this->id.' - '.$this->export[$name].': '.$buffer[$this->id][$this->export[$name]];
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tack on some extra values
|
|
||||||
function export_end_record($buffer)
|
|
||||||
{
|
|
||||||
if ($GLOBALS['phpgw_info']['server']['ldap_contact_context'])
|
|
||||||
{
|
|
||||||
$context = $GLOBALS['phpgw_info']['server']['ldap_contact_context'];
|
|
||||||
}
|
|
||||||
$time = gettimeofday();
|
|
||||||
$cn = str_replace(',','',$buffer[$this->id]['cn']);
|
|
||||||
$buffer[$this->id]['dn'] = 'uid='.time().$time['usec'].':'.$cn.','.$context;
|
|
||||||
$buffer[$this->id]['uid'] = time().$time['usec'];
|
|
||||||
if ($buffer[$this->id]['cn'])
|
|
||||||
{
|
|
||||||
$buffer[$this->id]['uid'] .= ':'.$buffer[$this->id]['cn'];
|
|
||||||
}
|
|
||||||
$buffer[$this->id]['description'] = ereg_replace("\r\n",';',$buffer[$this->id]['description']);
|
|
||||||
//echo '<br>'.$this->id.' - '.$buffer[$this->id]['dn'];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function export_end_file($buffer)
|
|
||||||
{
|
|
||||||
reset($this->ids);
|
|
||||||
for ($i=0;$i<count($this->ids);$i++)
|
|
||||||
{
|
|
||||||
$entries .= 'dn: '.$buffer[$i]['dn'] . "\n";
|
|
||||||
reset($this->export);
|
|
||||||
while (list($name,$value)=each($this->export))
|
|
||||||
{
|
|
||||||
if (($value != 'dn') && !empty($buffer[$i][$value]))
|
|
||||||
{
|
|
||||||
$tmp = str_replace(',','',$buffer[$i][$value]);
|
|
||||||
$entries .= $value . ': ' . $tmp . "\n";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$entries .= 'objectClass: person' . "\n";
|
|
||||||
$entries .= 'objectClass: organizationalPerson' . "\n";
|
|
||||||
# not needed for openldap > 2.1 anymore
|
|
||||||
#$entries .= 'objectClass: inetOrgPerson' . "\n";
|
|
||||||
$entries .= 'objectClass: phpgwContact' . "\n";
|
|
||||||
$entries .= "\n";
|
|
||||||
}
|
|
||||||
$buffer = $entries;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,159 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// export file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array("LastName" => "FullName","FirstName" => "+, ");
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
class export_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
//list of all id's
|
|
||||||
var $ids = array();
|
|
||||||
var $type = 'sql';
|
|
||||||
|
|
||||||
var $export= array(
|
|
||||||
'id' => 'id',
|
|
||||||
'lid' => 'lid',
|
|
||||||
'tid' => 'tid',
|
|
||||||
'owner' => 'owner',
|
|
||||||
'fn' => 'fn',
|
|
||||||
'n_given' => 'n_given',
|
|
||||||
'n_family' => 'n_family',
|
|
||||||
'n_middle' => 'n_middle',
|
|
||||||
'n_prefix' => 'n_prefix',
|
|
||||||
'n_suffix' => 'n_suffix',
|
|
||||||
'sound' => 'sound',
|
|
||||||
'bday' => 'bday',
|
|
||||||
'note' => 'note',
|
|
||||||
'tz' => 'tz',
|
|
||||||
'geo' => 'geo',
|
|
||||||
'url' => 'url',
|
|
||||||
'pubkey' => 'pubkey',
|
|
||||||
|
|
||||||
'org_name' => 'org_name',
|
|
||||||
'org_unit' => 'org_unit',
|
|
||||||
'title' => 'title',
|
|
||||||
|
|
||||||
'adr_one_street' => 'adr_one_street',
|
|
||||||
'adr_one_locality' => 'adr_one_locality',
|
|
||||||
'adr_one_region' => 'adr_one_region',
|
|
||||||
'adr_one_postalcode' => 'adr_one_postalcode',
|
|
||||||
'adr_one_countryname' => 'adr_one_countryname',
|
|
||||||
'adr_one_type' => 'adr_one_type',
|
|
||||||
'label' => 'label',
|
|
||||||
|
|
||||||
'adr_two_street' => 'adr_two_street',
|
|
||||||
'adr_two_locality' => 'adr_two_locality',
|
|
||||||
'adr_two_region' => 'adr_two_region',
|
|
||||||
'adr_two_postalcode' => 'adr_two_postalcode',
|
|
||||||
'adr_two_countryname' => 'adr_two_countryname',
|
|
||||||
'adr_two_type' => 'adr_two_type',
|
|
||||||
|
|
||||||
'tel_work' => 'tel_work',
|
|
||||||
'tel_home' => 'tel_home',
|
|
||||||
'tel_voice' => 'tel_voice',
|
|
||||||
'tel_fax' => 'tel_fax',
|
|
||||||
'tel_msg' => 'tel_msg',
|
|
||||||
'tel_cell' => 'tel_cell',
|
|
||||||
'tel_pager' => 'tel_pager',
|
|
||||||
'tel_bbs' => 'tel_bbs',
|
|
||||||
'tel_modem' => 'tel_modem',
|
|
||||||
'tel_car' => 'tel_car',
|
|
||||||
'tel_isdn' => 'tel_isdn',
|
|
||||||
'tel_video' => 'tel_video',
|
|
||||||
'tel_prefer' => 'tel_prefer',
|
|
||||||
'email' => 'email',
|
|
||||||
'email_type' => 'email_type',
|
|
||||||
'email_home' => 'email_home',
|
|
||||||
'email_home_type' => 'email_home_type'
|
|
||||||
);
|
|
||||||
|
|
||||||
// This will store the contacts object
|
|
||||||
var $contacts = '';
|
|
||||||
|
|
||||||
// Read full list of user's contacts only to get id's for each
|
|
||||||
function export_start_file($buffer,$ncat_id='')
|
|
||||||
{
|
|
||||||
$this->id=-1;
|
|
||||||
if ($ncat_id)
|
|
||||||
{
|
|
||||||
$filter = 'tid=n,cat_id=' . $ncat_id;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$filter = 'tid=n';
|
|
||||||
}
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
$tmp = $this->contacts->read('','',array('id'=>'id'),'',$filter);
|
|
||||||
for ($i=0;$i<count($tmp);$i++)
|
|
||||||
{
|
|
||||||
$this->ids[$i] = $tmp[$i]['id'];
|
|
||||||
}
|
|
||||||
// $ids is now an array of all id's for this user, e.g. $ids[0] = 21, etc...
|
|
||||||
// $buffer is still empty
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each entry
|
|
||||||
function export_start_record($buffer)
|
|
||||||
{
|
|
||||||
$this->id++;
|
|
||||||
$top = $this->contacts->read_single_entry($this->ids[$this->id],$this->qfields);
|
|
||||||
$this->currentrecord = $top[0];
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Read each attribute, populate buffer array
|
|
||||||
// name/value are the fields from the export array above
|
|
||||||
function export_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
if ($this->export[$name])
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$this->export[$name]] = $value;
|
|
||||||
//echo '<br>'.$this->id.' - '.$this->export[$name].': '.$buffer[$this->id][$this->export[$name]];
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Tack on some extra values - none for this file
|
|
||||||
function export_end_record($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Parse it all into a string
|
|
||||||
function export_end_file($buffer)
|
|
||||||
{
|
|
||||||
$top = 'INSERT INTO phpgw_addressbook(';
|
|
||||||
reset($this->ids);
|
|
||||||
for ($i=0;$i<count($this->ids);$i++)
|
|
||||||
{
|
|
||||||
reset($this->export);
|
|
||||||
$fields = $values = "";
|
|
||||||
while (list($name,$value) = each($this->export))
|
|
||||||
{
|
|
||||||
$fields .= $value . ",";
|
|
||||||
$values .= "'" . $buffer[$i][$value] . "',";
|
|
||||||
}
|
|
||||||
$fields = substr($fields,0,-1) . ")\n VALUES(";
|
|
||||||
$values = substr($values,0,-1) . ");\n";
|
|
||||||
$entries .= $top . $fields . $values;
|
|
||||||
}
|
|
||||||
$buffer = $entries;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,176 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare - addressbook *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by Joseph Engo <jengo@mail.com> *
|
|
||||||
* -------------------------------------------- *
|
|
||||||
* 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$ */
|
|
||||||
|
|
||||||
function formatted_list($name,$list,$id='',$default=False,$java=False)
|
|
||||||
{
|
|
||||||
if($java)
|
|
||||||
{
|
|
||||||
$jselect = ' onChange="this.form.submit();"';
|
|
||||||
}
|
|
||||||
|
|
||||||
$select = "\n" .'<select name="' . $name . '"' . $jselect . ">\n";
|
|
||||||
if($default)
|
|
||||||
{
|
|
||||||
$select .= '<option value="">' . lang('Please Select') . '</option>'."\n";
|
|
||||||
}
|
|
||||||
while(list($key,$val) = each($list))
|
|
||||||
{
|
|
||||||
$select .= '<option value="' . $key . '"';
|
|
||||||
if($key == $id && $id != '')
|
|
||||||
{
|
|
||||||
$select .= ' selected';
|
|
||||||
}
|
|
||||||
$select .= '>' . $val . '</option>'."\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$select .= '</select>'."\n";
|
|
||||||
$select .= '<noscript><input type="submit" name="' . $name . '_select" value="True"></noscript>' . "\n";
|
|
||||||
|
|
||||||
return $select;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Return a select form element with the categories option dialog in it */
|
|
||||||
function cat_option($cat_id='',$notall=False,$java=True,$multiple=False)
|
|
||||||
{
|
|
||||||
if($java)
|
|
||||||
{
|
|
||||||
$jselect = ' onChange="this.form.submit();"';
|
|
||||||
}
|
|
||||||
/* Setup all and none first */
|
|
||||||
$cats_link = "\n" .'<select name="cat_id'.($multiple?'[]':'').'"' .$jselect . ($multiple ? 'multiple size="3"' : '') . ">\n";
|
|
||||||
if(!$notall)
|
|
||||||
{
|
|
||||||
$cats_link .= '<option value=""';
|
|
||||||
if($cat_id == 'all')
|
|
||||||
{
|
|
||||||
$cats_link .= ' selected';
|
|
||||||
}
|
|
||||||
$cats_link .= '>'.lang("all").'</option>'."\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Get global and app-specific category listings */
|
|
||||||
$cats_link .= $GLOBALS['egw']->categories->formated_list('select','all',$cat_id,True);
|
|
||||||
$cats_link .= '</select>'."\n";
|
|
||||||
return $cats_link;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* this cleans up the fieldnames for preferences */
|
|
||||||
function display_name($column)
|
|
||||||
{
|
|
||||||
$abc = array(
|
|
||||||
'fn' => 'full name',
|
|
||||||
'sound' => 'Sound',
|
|
||||||
'org_name' => 'company name',
|
|
||||||
'org_unit' => 'department',
|
|
||||||
'title' => 'title',
|
|
||||||
'n_prefix' => 'prefix',
|
|
||||||
'n_given' => 'first name',
|
|
||||||
'n_middle' => 'middle name',
|
|
||||||
'n_family' => 'last name',
|
|
||||||
'n_suffix' => 'suffix',
|
|
||||||
'label' => 'label',
|
|
||||||
'adr_one_street' => 'business street',
|
|
||||||
'adr_one_locality' => 'business city',
|
|
||||||
'adr_one_region' => 'business state',
|
|
||||||
'adr_one_postalcode' => 'business zip code',
|
|
||||||
'adr_one_countryname' => 'business country',
|
|
||||||
'adr_one_type' => 'business address type',
|
|
||||||
'adr_two_street' => 'home street',
|
|
||||||
'adr_two_locality' => 'home city',
|
|
||||||
'adr_two_region' => 'home state',
|
|
||||||
'adr_two_postalcode' => 'home zip code',
|
|
||||||
'adr_two_countryname' => 'home country',
|
|
||||||
'adr_two_type' => 'home address type',
|
|
||||||
'tz' => 'time zone',
|
|
||||||
'geo' => 'geo',
|
|
||||||
'tel_work' => 'business phone',
|
|
||||||
'tel_home' => 'home phone',
|
|
||||||
'tel_voice' => 'voice phone',
|
|
||||||
'tel_msg' => 'message phone',
|
|
||||||
'tel_fax' => 'fax',
|
|
||||||
'tel_pager' => 'pager',
|
|
||||||
'tel_cell' => 'mobile phone',
|
|
||||||
'tel_bbs' => 'bbs phone',
|
|
||||||
'tel_modem' => 'modem phone',
|
|
||||||
'tel_isdn' => 'isdn phone',
|
|
||||||
'tel_car' => 'car phone',
|
|
||||||
'tel_video' => 'video phone',
|
|
||||||
'tel_prefer' => 'preferred phone',
|
|
||||||
'email' => 'business email',
|
|
||||||
'email_type' => 'business email type',
|
|
||||||
'email_home' => 'home email',
|
|
||||||
'email_home_type' => 'home email type',
|
|
||||||
'address2' => 'address line 2',
|
|
||||||
'address3' => 'address line 3',
|
|
||||||
'ophone' => 'Other Phone',
|
|
||||||
'bday' => 'birthday',
|
|
||||||
'url' => 'url',
|
|
||||||
'pubkey' => 'public key',
|
|
||||||
'note' => 'notes'
|
|
||||||
);
|
|
||||||
|
|
||||||
if($abc[$column])
|
|
||||||
{
|
|
||||||
return lang($abc[$column]);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
function read_custom_fields()
|
|
||||||
{
|
|
||||||
$i = 0; $j = 0;
|
|
||||||
$fields = array();
|
|
||||||
@reset($GLOBALS['egw_info']['user']['preferences']['addressbook']);
|
|
||||||
while(list($col,$descr) = @each($GLOBALS['egw_info']['user']['preferences']['addressbook']))
|
|
||||||
{
|
|
||||||
if( substr($col,0,6) == 'extra_' )
|
|
||||||
{
|
|
||||||
$fields[$j]['name'] = str_replace('extra_','',$col);
|
|
||||||
$fields[$j]['name'] = str_replace(' ','_',$fields[$j]['name']);
|
|
||||||
$fields[$j]['id'] = $i;
|
|
||||||
|
|
||||||
if($query && ($fields[$j]['name'] != $query))
|
|
||||||
{
|
|
||||||
unset($fields[$j]['name']);
|
|
||||||
unset($fields[$j]['id']);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* echo "<br>".$j.": '".$fields[$j]['name']."'"; */
|
|
||||||
$j++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
$i++;
|
|
||||||
}
|
|
||||||
@reset($fields);
|
|
||||||
return $fields;
|
|
||||||
}
|
|
||||||
|
|
||||||
function save_custom_field($old='',$new='')
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->preferences->read_repository($GLOBALS['egw_info']['user']['account_id']);
|
|
||||||
if($old)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->preferences->delete('addressbook','extra_'.$old);
|
|
||||||
}
|
|
||||||
if($new)
|
|
||||||
{
|
|
||||||
$GLOBALS['egw']->preferences->add('addressbook','extra_'.$new);
|
|
||||||
}
|
|
||||||
$GLOBALS['egw']->preferences->save_repository(1);
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,19 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by Joseph Engo <jengo@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$
|
|
||||||
|
|
||||||
$GLOBALS['pref']->change('addressbook','company','addressbook_True');
|
|
||||||
$GLOBALS['pref']->change('addressbook','lastname','addressbook_True');
|
|
||||||
$GLOBALS['pref']->change('addressbook','firstname','addressbook_True');
|
|
||||||
$GLOBALS['pref']->change('addressbook','default_category','');
|
|
||||||
?>
|
|
@ -1,7 +0,0 @@
|
|||||||
<?php
|
|
||||||
global $acl,$account_id;
|
|
||||||
// Add default acl to allow the new user to access their
|
|
||||||
// addressbook
|
|
||||||
// This file is not really needed or used at this time
|
|
||||||
$acl->add('addressbook','u_'.$account_id,1);
|
|
||||||
?>
|
|
@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by Joseph Engo <jengo@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$
|
|
||||||
|
|
||||||
// Only Modify the $file and $title variables.....
|
|
||||||
$title = $appname;
|
|
||||||
$file = Array(
|
|
||||||
'Site Configuration' => $GLOBALS['egw']->link('/index.php','menuaction=admin.uiconfig.index&appname=' . $appname),
|
|
||||||
'Edit custom fields' => $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.index'),
|
|
||||||
'Global Categories' => $GLOBALS['egw']->link('/index.php','menuaction=admin.uicategories.index&appname=addressbook')
|
|
||||||
);
|
|
||||||
//Do not modify below this line
|
|
||||||
display_section($appname,$title,$file);
|
|
||||||
?>
|
|
@ -1,54 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by Miles Lott <milos@groupwhere.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$ */
|
|
||||||
|
|
||||||
/*
|
|
||||||
Set a global flag to indicate this file was found by admin/config.php.
|
|
||||||
config.php will unset it after parsing the form values.
|
|
||||||
*/
|
|
||||||
$GLOBALS['egw_info']['server']['found_validation_hook'] = True;
|
|
||||||
|
|
||||||
/* Check a specific setting. Name must match the setting. */
|
|
||||||
function ldap_contact_context($value='')
|
|
||||||
{
|
|
||||||
if($value == $GLOBALS['egw_info']['server']['ldap_context'])
|
|
||||||
{
|
|
||||||
$GLOBALS['config_error'] = 'Contact context for ldap must be different from the context used for accounts';
|
|
||||||
}
|
|
||||||
elseif($value == $GLOBALS['egw_info']['server']['ldap_group_context'])
|
|
||||||
{
|
|
||||||
$GLOBALS['config_error'] = 'Contact context for ldap must be different from the context used for groups';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$GLOBALS['config_error'] = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Check all settings to validate input. Name must be 'final_validation' */
|
|
||||||
function final_validation($value='')
|
|
||||||
{
|
|
||||||
if($value['contact_repository'] == 'ldap' && !$value['ldap_contact_dn'])
|
|
||||||
{
|
|
||||||
$GLOBALS['config_error'] = 'Contact dn must be set';
|
|
||||||
}
|
|
||||||
elseif($value['contact_repository'] == 'ldap' && !$value['ldap_contact_context'])
|
|
||||||
{
|
|
||||||
$GLOBALS['config_error'] = 'Contact context must be set';
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$GLOBALS['config_error'] = '';
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,25 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare *
|
|
||||||
* http://www.egroupware.org *
|
|
||||||
* Written by Joseph Engo <jengo@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$ */
|
|
||||||
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
|
|
||||||
if((int)$_POST['new_owner'] == 0)
|
|
||||||
{
|
|
||||||
$contacts->delete_all((int)$_POST['account_id']);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$contacts->change_owner((int)$_POST['account_id'],(int)$_POST['new_owner']);
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,108 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare - E-Mail *
|
|
||||||
* 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$ */
|
|
||||||
|
|
||||||
$d1 = strtolower(substr(PHPGW_APP_INC,0,3));
|
|
||||||
if($d1 == 'htt' || $d1 == 'ftp' )
|
|
||||||
{
|
|
||||||
echo "Failed attempt to break in via an old Security Hole!<br>\n";
|
|
||||||
$GLOBALS['phpgw']->common->phpgw_exit();
|
|
||||||
}
|
|
||||||
unset($d1);
|
|
||||||
|
|
||||||
if($GLOBALS['phpgw_info']['user']['apps']['addressbook']
|
|
||||||
&& $GLOBALS['phpgw_info']['user']['preferences']['addressbook']['mainscreen_showbirthdays'])
|
|
||||||
{
|
|
||||||
echo "\n<!-- Birthday info -->\n";
|
|
||||||
|
|
||||||
$c = CreateObject('phpgwapi.contacts');
|
|
||||||
$qfields = array(
|
|
||||||
'n_given' => 'n_given',
|
|
||||||
'n_family' => 'n_family',
|
|
||||||
'bday' => 'bday'
|
|
||||||
);
|
|
||||||
$now = time() - ((60 * 60) * (int)$GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset']);
|
|
||||||
$today = $GLOBALS['phpgw']->common->show_date($now,'n/d/');
|
|
||||||
|
|
||||||
$bdays = $c->read(0,15,$qfields,$today,'tid=n','','',$GLOBALS['phpgw_info']['user']['account_id']);
|
|
||||||
|
|
||||||
$title = '<center><font color="#FFFFFF">'.lang('Birthdays').'</font></center>';
|
|
||||||
|
|
||||||
$portalbox = CreateObject('phpgwapi.listbox',
|
|
||||||
Array(
|
|
||||||
'title' => $title,
|
|
||||||
'primary' => $GLOBALS['phpgw_info']['theme']['navbar_bg'],
|
|
||||||
'secondary' => $GLOBALS['phpgw_info']['theme']['navbar_bg'],
|
|
||||||
'tertiary' => $GLOBALS['phpgw_info']['theme']['navbar_bg'],
|
|
||||||
'width' => '100%',
|
|
||||||
'outerborderwidth' => '0',
|
|
||||||
'header_background_image' => $GLOBALS['phpgw']->common->image($GLOBALS['phpgw']->common->get_tpl_dir('phpgwapi'),'bg_filler')
|
|
||||||
)
|
|
||||||
);
|
|
||||||
$app_id = $GLOBALS['phpgw']->applications->name2id('addressbook');
|
|
||||||
$GLOBALS['portal_order'][] = $app_id;
|
|
||||||
$var = Array(
|
|
||||||
'up' => Array('url' => '/set_box.php', 'app' => $app_id),
|
|
||||||
'down' => Array('url' => '/set_box.php', 'app' => $app_id),
|
|
||||||
'close' => Array('url' => '/set_box.php', 'app' => $app_id),
|
|
||||||
'question' => Array('url' => '/set_box.php', 'app' => $app_id),
|
|
||||||
'edit' => Array('url' => '/set_box.php', 'app' => $app_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
while(list($key,$value) = each($var))
|
|
||||||
{
|
|
||||||
$portalbox->set_controls($key,$value);
|
|
||||||
}
|
|
||||||
|
|
||||||
$portalbox->data = Array();
|
|
||||||
|
|
||||||
while(list($key,$val) = @each($bdays))
|
|
||||||
{
|
|
||||||
if(substr($val['bday'],0,strlen($today)) == $today)
|
|
||||||
{
|
|
||||||
$portalbox->data[] = array(
|
|
||||||
'text' => lang("Today is %1's birthday!", $val['n_given'] . ' ' . $val['n_family']),
|
|
||||||
'link' => $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.view&ab_id=' . $val['id'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
// $tmp = '<a href="'
|
|
||||||
// . $GLOBALS['phpgw']->link('/addressbook/view.php','ab_id=' . $val['id']) . '">'
|
|
||||||
// . $val['n_given'] . ' ' . $val['n_family'] . '</a>';
|
|
||||||
// echo '<tr><td align="left">' . lang("Today is %1's birthday!", $tmp) . '</td></tr>' . "\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$tomorrow = $GLOBALS['phpgw']->common->show_date($now + 86400,'n/d/');
|
|
||||||
|
|
||||||
$bdays = $c->read(0,15,$qfields,$tomorrow,'tid=n','','',$GLOBALS['phpgw_info']['user']['account_id']);
|
|
||||||
|
|
||||||
while(list($key,$val) = @each($bdays))
|
|
||||||
{
|
|
||||||
if(substr($val['bday'],0,strlen($tomorrow)) == $tomorrow)
|
|
||||||
{
|
|
||||||
$portalbox->data[] = array(
|
|
||||||
'text' => lang("Tomorrow is %1's birthday.",$val['n_given'] . ' ' . $val['n_family']),
|
|
||||||
'link' => $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.view&ab_id='.$val['id'])
|
|
||||||
);
|
|
||||||
}
|
|
||||||
// $tmp = '<a href="'
|
|
||||||
// . $GLOBALS['phpgw']->link('/addressbook/view.php','ab_id=' . $val['id']) . '">'
|
|
||||||
// . $val['n_given'] . ' ' . $val["n_family"] . '</a>';
|
|
||||||
// echo '<tr><td align="left">' . lang("Tomorrow is %1's birthday.", $tmp) . '</td></tr>' . "\n";
|
|
||||||
}
|
|
||||||
if(count($portalbox->data))
|
|
||||||
{
|
|
||||||
echo $portalbox->draw();
|
|
||||||
}
|
|
||||||
unset($portalbox);
|
|
||||||
echo "\n<!-- Birthday info -->\n";
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,66 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare - Addressbook *
|
|
||||||
* 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$ */
|
|
||||||
|
|
||||||
$d1 = strtolower(substr(PHPGW_APP_INC,0,3));
|
|
||||||
if($d1 == 'htt' || $d1 == 'ftp')
|
|
||||||
{
|
|
||||||
echo "Failed attempt to break in via an old Security Hole!<br>\n";
|
|
||||||
$GLOBALS['egw']->common->phpgw_exit();
|
|
||||||
}
|
|
||||||
unset($d1);
|
|
||||||
|
|
||||||
$tmp_app_inc = PHPGW_APP_INC;
|
|
||||||
define('PHPGW_APP_INC',$GLOBALS['egw']->common->get_inc_dir('addressbook'));
|
|
||||||
|
|
||||||
if($GLOBALS['egw_info']['user']['apps']['addressbook']
|
|
||||||
&& $GLOBALS['egw_info']['user']['preferences']['addressbook']['mainscreen_showbirthdays'])
|
|
||||||
{
|
|
||||||
echo "\n<!-- Birthday info -->\n";
|
|
||||||
|
|
||||||
$c = CreateObject('phpgwapi.contacts');
|
|
||||||
$qfields = array(
|
|
||||||
'n_given' => 'n_given',
|
|
||||||
'n_family' => 'n_family',
|
|
||||||
'bday' => 'bday'
|
|
||||||
);
|
|
||||||
$now = time() - ((60 * 60) * (int)$GLOBALS['egw_info']['user']['preferences']['common']['tz_offset']);
|
|
||||||
$today = $GLOBALS['egw']->common->show_date($now,'n/d/');
|
|
||||||
// echo $today."\n";
|
|
||||||
|
|
||||||
$bdays = $c->read(0,15,$qfields,$today,'tid=n','','',$GLOBALS['egw_info']['user']['account_id']);
|
|
||||||
|
|
||||||
while(list($key,$val) = @each($bdays))
|
|
||||||
{
|
|
||||||
$tmp = '<a href="'
|
|
||||||
. $GLOBALS['egw']->link('/.php','menuaction=addressbook.uiaddressbook.view&ab_id=' . $val['id']) . '">'
|
|
||||||
. $val['n_given'] . ' ' . $val['n_family'] . '</a>';
|
|
||||||
echo '<tr><td align="left">' . lang("Today is %1's birthday!", $tmp) . "</td></tr>\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
$tomorrow = $GLOBALS['egw']->common->show_date($now + 86400,'n/d/');
|
|
||||||
// echo $tomorrow."\n";
|
|
||||||
|
|
||||||
$bdays = $c->read(0,15,$qfields,$tomorrow,'tid=n','','',$GLOBALS['egw_info']['user']['account_id']);
|
|
||||||
|
|
||||||
while(list($key,$val) = @each($bdays))
|
|
||||||
{
|
|
||||||
$tmp = '<a href="'
|
|
||||||
. $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.view&ab_id=' . $val['id']) . '">'
|
|
||||||
. $val['n_given'] . ' ' . $val['n_family'] . '</a>';
|
|
||||||
echo '<tr><td align="left">' . lang("Tomorrow is %1's birthday.", $tmp) . "</td></tr>\n";
|
|
||||||
}
|
|
||||||
echo "\n<!-- Birthday info -->\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
define('PHPGW_APP_INC',$tmp_app_inc);
|
|
||||||
?>
|
|
@ -12,14 +12,15 @@
|
|||||||
|
|
||||||
/* $Id$ */
|
/* $Id$ */
|
||||||
{
|
{
|
||||||
// Only Modify the $file and $title variables.....
|
// Only Modify the $file and $title variables.....
|
||||||
$title = $appname;
|
$title = $appname;
|
||||||
$file = Array(
|
$file = array();
|
||||||
'Preferences' => $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.preferences'),
|
$file['Preferences'] = $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.preferences');
|
||||||
'Grant Access' => $GLOBALS['egw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname),
|
if(!$GLOBALS['phpgw_info']['server']['deny_user_grants_access'])
|
||||||
'Edit Categories' => $GLOBALS['egw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app='.$appname . '&cats_level=True&global_cats=True')
|
$file['Grant Access'] = $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app='.$appname);
|
||||||
);
|
$file['Edit Categories'] = $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app='.$appname . '&cats_level=True&global_cats=True');
|
||||||
//Do not modify below this line
|
|
||||||
|
//Do not modify below this line
|
||||||
display_section($appname,$title,$file);
|
display_section($appname,$title,$file);
|
||||||
}
|
}
|
||||||
?>
|
?>
|
||||||
|
@ -23,33 +23,34 @@
|
|||||||
display_sidebox can be called as much as you like
|
display_sidebox can be called as much as you like
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$menu_title = $GLOBALS['egw_info']['apps'][$appname]['title'] . ' '. lang('Menu');
|
$menu_title = $GLOBALS['phpgw_info']['apps'][$appname]['title'] . ' '. lang('Menu');
|
||||||
$file = Array(
|
$file = Array(
|
||||||
'Add'=>$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.add'),
|
'Add'=>$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.add'),
|
||||||
'_NewLine_', // give a newline
|
'_NewLine_', // give a newline
|
||||||
'import contacts' => $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiXport.import'),
|
'import contacts' => $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiXport.import'),
|
||||||
'export contacts' => $GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiXport.export')
|
'export contacts' => $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiXport.export')
|
||||||
);
|
);
|
||||||
display_sidebox($appname,$menu_title,$file);
|
display_sidebox($appname,$menu_title,$file);
|
||||||
|
|
||||||
if($GLOBALS['egw_info']['user']['apps']['preferences'])
|
if($GLOBALS['phpgw_info']['user']['apps']['preferences'])
|
||||||
{
|
{
|
||||||
$menu_title = lang('Preferences');
|
$menu_title = lang('Preferences');
|
||||||
$file = Array(
|
$file = array();
|
||||||
'Addressbook preferences'=>$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uiaddressbook.preferences'),
|
$file['Addressbook preferences'] = $GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uiaddressbook.preferences');
|
||||||
'Grant Access'=>$GLOBALS['egw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app=addressbook'),
|
if(!$GLOBALS['phpgw_info']['server']['deny_user_grants_access'])
|
||||||
'Edit Categories' =>$GLOBALS['egw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app=addressbook&cats_level=True&global_cats=True')
|
$file['Grant Access'] = $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uiaclprefs.index&acl_app=addressbook');
|
||||||
);
|
$file['Edit Categories'] = $GLOBALS['phpgw']->link('/index.php','menuaction=preferences.uicategories.index&cats_app=addressbook&cats_level=True&global_cats=True');
|
||||||
|
|
||||||
display_sidebox($appname,$menu_title,$file);
|
display_sidebox($appname,$menu_title,$file);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($GLOBALS['egw_info']['user']['apps']['admin'])
|
if ($GLOBALS['phpgw_info']['user']['apps']['admin'])
|
||||||
{
|
{
|
||||||
$menu_title = lang('Administration');
|
$menu_title = lang('Administration');
|
||||||
$file = Array(
|
$file = Array(
|
||||||
'Configuration'=>$GLOBALS['egw']->link('/index.php','menuaction=admin.uiconfig.index&appname=addressbook'),
|
'Configuration'=>$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uiconfig.index&appname=addressbook'),
|
||||||
'Custom Fields'=>$GLOBALS['egw']->link('/index.php','menuaction=addressbook.uifields.index'),
|
'Custom Fields'=>$GLOBALS['phpgw']->link('/index.php','menuaction=addressbook.uifields.index'),
|
||||||
'Global Categories' =>$GLOBALS['egw']->link('/index.php','menuaction=admin.uicategories.index&appname=addressbook')
|
'Global Categories' =>$GLOBALS['phpgw']->link('/index.php','menuaction=admin.uicategories.index&appname=addressbook')
|
||||||
);
|
);
|
||||||
display_sidebox($appname,$menu_title,$file);
|
display_sidebox($appname,$menu_title,$file);
|
||||||
}
|
}
|
||||||
|
@ -1,90 +0,0 @@
|
|||||||
<?php
|
|
||||||
/*
|
|
||||||
This file defines a set of functions and an associative array.
|
|
||||||
The key of the array corresponds to a header in the source
|
|
||||||
import file and the value of the array item will be used in
|
|
||||||
the creation of the output file.
|
|
||||||
|
|
||||||
The array need not be in any order and any fields not defined will
|
|
||||||
not be transferred. If the val='+', the value will be appended to
|
|
||||||
the previous field and any text after the '+' will be appended
|
|
||||||
before the value. For example, the following would add a comma and
|
|
||||||
a space between LastName and FirstName and store it in FullName:
|
|
||||||
|
|
||||||
array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
|
|
||||||
Also start with a '#' symbol and a comma separated list will be
|
|
||||||
turned into a number of the same entries.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); /* used for buffering to allow uid lines to go first */
|
|
||||||
var $id;
|
|
||||||
var $type = 'vcard';
|
|
||||||
|
|
||||||
/* These will hold the class objects */
|
|
||||||
var $contacts = '';
|
|
||||||
var $vcard = '';
|
|
||||||
|
|
||||||
/* This will be populated via the vcard->import var */
|
|
||||||
var $import = array();
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
$this->id = 0;
|
|
||||||
$this->contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
$this->vcard = CreateObject('phpgwapi.vcard');
|
|
||||||
$this->import = $this->vcard->import;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = array();
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('=0D=0A',"\n",$value);
|
|
||||||
/* echo '<br>'.$this->id.': '.$name.' => '.$value; */
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id]='';
|
|
||||||
while ( list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
/* $buffer[$this->id]['private'] = $private; */
|
|
||||||
/* echo '<br>'.$name.' => '.$value; */
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
for ($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
/*
|
|
||||||
Send the entire array to the vcard class in function.
|
|
||||||
It will parse the vcard fields and clean the array of extra
|
|
||||||
bogus values that get stuffed in.
|
|
||||||
*/
|
|
||||||
$entry = $this->vcard->in($buffer[$i]);
|
|
||||||
/* Now actually add the new entry */
|
|
||||||
$this->contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry,$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,118 +0,0 @@
|
|||||||
<?php
|
|
||||||
/*
|
|
||||||
This file defines a set of functions and an associative array.
|
|
||||||
The key of the array corresponds to a header in the source
|
|
||||||
import file and the value of the array item will be used in
|
|
||||||
the creation of the output file.
|
|
||||||
|
|
||||||
The array need not be in any order and any fields not defined will
|
|
||||||
not be transferred. If the val='+', the value will be appended to
|
|
||||||
the previous field and any text after the '+' will be appended
|
|
||||||
before the value. For example, the following would add a comma and
|
|
||||||
a space between LastName and FirstName and store it in FullName:
|
|
||||||
|
|
||||||
array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
|
|
||||||
Also start with a '#' symbol and a comma separated list will be
|
|
||||||
turned into a number of the same entries.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); /* used for buffering to allow uid lines to go first */
|
|
||||||
var $id;
|
|
||||||
var $type = 'ldif';
|
|
||||||
|
|
||||||
var $import = array(
|
|
||||||
'title' => 'title',
|
|
||||||
'givenname' => 'n_given',
|
|
||||||
'sn' => 'n_family',
|
|
||||||
'cn' => 'fn',
|
|
||||||
'o' => 'org_name',
|
|
||||||
'ou' => 'org_unit',
|
|
||||||
'streetaddress' => 'adr_one_street',
|
|
||||||
'postaladdress' => 'adr_one_street',
|
|
||||||
'mozillaPostalAddress2' => 'address2',
|
|
||||||
'locality' => 'adr_one_locality',
|
|
||||||
'l' => 'adr_one_locality',
|
|
||||||
'st' => 'adr_one_region',
|
|
||||||
'postalcode' => 'adr_one_postalcode',
|
|
||||||
'countryname' => 'adr_one_countryname',
|
|
||||||
'c' => 'adr_one_countryname',
|
|
||||||
'homepostaladdress' => 'adr_two_street',
|
|
||||||
'mozillahomelocalityname' => 'adr_two_locality',
|
|
||||||
'mozillahomestate' => 'adr_two_region',
|
|
||||||
'mozillahomepostalcode' => 'adr_two_postalcode',
|
|
||||||
'mozillahomecountryname' => 'adr_two_countryname',
|
|
||||||
'telephonenumber' => 'tel_work',
|
|
||||||
'homephone' => 'tel_home',
|
|
||||||
'facsimiletelephonenumber' => 'tel_fax',
|
|
||||||
'xmozillaanyphone' => 'ophone',
|
|
||||||
'mobile' => 'tel_cell',
|
|
||||||
'description' => 'note',
|
|
||||||
'pager' => 'tel_pager',
|
|
||||||
'mail' => 'email',
|
|
||||||
'homeurl' => 'url',
|
|
||||||
'workurl' => 'url'
|
|
||||||
);
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
$top = array();
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = $top;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
/* chop leading space from value */
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('\r','',$value);
|
|
||||||
/* echo '<br>'.$name.' => '.$value; */
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id] = '';
|
|
||||||
while(list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
/* echo '<br>'.$this->id.': '.$name.' => '.$value; */
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
/* echo '<br>'; */
|
|
||||||
for($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
while(list($name,$value) = @each($buffer[$i]))
|
|
||||||
{
|
|
||||||
/* echo '<br>'.$i.': '.$name.' => '.$value; */
|
|
||||||
$entry[$i][$name] = $value;
|
|
||||||
}
|
|
||||||
$entry[$i]['email_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['email_home_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['adr_one_type'] = 'intl';
|
|
||||||
$entry[$i]['adr_two_type'] = 'intl';
|
|
||||||
/* echo '<br>'; */
|
|
||||||
$contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry[$i],$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,113 +0,0 @@
|
|||||||
<?php
|
|
||||||
/*
|
|
||||||
This file defines a set of functions and an associative array.
|
|
||||||
The key of the array corresponds to a header in the source
|
|
||||||
import file and the value of the array item will be used in
|
|
||||||
the creation of the output file.
|
|
||||||
|
|
||||||
The array need not be in any order and any fields not defined will
|
|
||||||
not be transferred. If the val='+', the value will be appended to
|
|
||||||
the previous field and any text after the '+' will be appended
|
|
||||||
before the value. For example, the following would add a comma and
|
|
||||||
a space between LastName and FirstName and store it in FullName:
|
|
||||||
|
|
||||||
array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
|
|
||||||
Also start with a '#' symbol and a comma separated list will be
|
|
||||||
turned into a number of the same entries.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); /* used for buffering to allow uid lines to go first */
|
|
||||||
var $id;
|
|
||||||
var $type = 'ldif';
|
|
||||||
|
|
||||||
var $import = array(
|
|
||||||
'title' => 'title',
|
|
||||||
'givenname' => 'n_given',
|
|
||||||
'sn' => 'n_family',
|
|
||||||
'cn' => 'fn',
|
|
||||||
'o' => 'org_name',
|
|
||||||
'ou' => 'org_unit',
|
|
||||||
'streetaddress' => 'adr_one_street',
|
|
||||||
'locality' => 'adr_one_locality',
|
|
||||||
'st' => 'adr_one_region',
|
|
||||||
'postalcode' => 'adr_one_postalcode',
|
|
||||||
'countryname' => 'adr_one_countryname',
|
|
||||||
'telephonenumber' => 'tel_work',
|
|
||||||
'homephone' => 'tel_home',
|
|
||||||
'facsimiletelephonenumber' => 'tel_fax',
|
|
||||||
'xmozillaanyphone' => 'ophone',
|
|
||||||
'cellphone' => 'tel_cell',
|
|
||||||
'description' => 'note',
|
|
||||||
'pagerphone' => 'tel_pager',
|
|
||||||
'mail' => 'email',
|
|
||||||
'homeurl' => 'url',
|
|
||||||
'xmozillauseconferenceserver' => '',
|
|
||||||
'xmozillanickname' => '',
|
|
||||||
'xmozillausehtmlmail' => '',
|
|
||||||
'modifytimestamp' => '',
|
|
||||||
'objectclass' => ''
|
|
||||||
);
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
$top = array();
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = $top;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
/* chop leading space from value */
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('\r','',$value);
|
|
||||||
/* echo '<br>'.$name.' => '.$value; */
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id] = '';
|
|
||||||
while(list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
/* echo '<br>'.$this->id.': '.$name.' => '.$value; */
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
/* echo '<br>'; */
|
|
||||||
for($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
while(list($name,$value) = @each($buffer[$i]))
|
|
||||||
{
|
|
||||||
/* echo '<br>'.$i.': '.$name.' => '.$value; */
|
|
||||||
$entry[$i][$name] = $value;
|
|
||||||
}
|
|
||||||
$entry[$i]['email_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['email_home_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['adr_one_type'] = 'intl';
|
|
||||||
$entry[$i]['adr_two_type'] = 'intl';
|
|
||||||
/* echo '<br>'; */
|
|
||||||
$contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry[$i],$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,182 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// import file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// An exported Outlook file looks like this:
|
|
||||||
//
|
|
||||||
// Title<tab>First Name<tab>Middle Name<tab>Last Name<tab>...
|
|
||||||
// <tab>Patrick<tab><tab>Walsh<tab>...
|
|
||||||
//
|
|
||||||
// Where the first line explains each optional field. This is what
|
|
||||||
// will be looked up in the key.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
var $type = 'csv';
|
|
||||||
|
|
||||||
/* Thanks to knecke for the Outlook fields */
|
|
||||||
var $import = array(
|
|
||||||
'Anrede' => 'n_prefix',
|
|
||||||
'Vorname' => 'n_given',
|
|
||||||
'Weitere Vornamen' => 'n_middle',
|
|
||||||
'Nachname' => 'n_family',
|
|
||||||
'Suffix' => 'n_suffix',
|
|
||||||
'Firma' => 'org_name',
|
|
||||||
'Abteilung' => 'org_unit',
|
|
||||||
'Position' => 'title',
|
|
||||||
'Straße geschäftlich' => 'adr_one_street',
|
|
||||||
'Straße geschäftlich 2' => 'address2',
|
|
||||||
'Straße geschäftlich 3' => 'address3',
|
|
||||||
'Ort geschäftlich' => 'adr_one_locality',
|
|
||||||
'Region geschäftlich' => 'adr_one_region',
|
|
||||||
'Postleitzahl geschäftlich' => 'adr_one_postalcode',
|
|
||||||
'Land geschäftlich' => 'adr_one_countryname',
|
|
||||||
'Straße privat' => 'adr_two_street',
|
|
||||||
'Straße privat 2' => '',
|
|
||||||
'Straße privat 3' => '',
|
|
||||||
'Ort privat' => 'adr_two_locality',
|
|
||||||
'Region privat' => 'adr_two_region',
|
|
||||||
'Postleitzahl privat' => 'adr_two_postalcode',
|
|
||||||
'Land privat' => 'adr_two_countryname',
|
|
||||||
'Weitere Straße' => '',
|
|
||||||
'Weitere Straße 2' => '',
|
|
||||||
'Weitere Straße 3' => '',
|
|
||||||
'Weiterer Ort' => '',
|
|
||||||
'Weitere Region' => '',
|
|
||||||
'Weitere Postleitzahl' => '',
|
|
||||||
'Weiteres Land' => '',
|
|
||||||
'Telefon Assistent' => 'tel_msg',
|
|
||||||
'Fax geschäftlich' => 'tel_fax',
|
|
||||||
'Telefon geschäftlich' => 'tel_work',
|
|
||||||
'Telefon geschäftlich 2' => 'ophone',
|
|
||||||
'Rückmeldung' => '',
|
|
||||||
'Autotelefon' => 'tel_car',
|
|
||||||
'Telefon Firma' => '',
|
|
||||||
'Fax privat' => '',
|
|
||||||
'Telefon privat' => 'tel_home',
|
|
||||||
'Telefon privat 2' => '',
|
|
||||||
'ISDN' => 'tel_isdn',
|
|
||||||
'Mobiltelefon' => 'tel_cell',
|
|
||||||
'Weiteres Fax' => '',
|
|
||||||
'Weiteres Telefon' => '',
|
|
||||||
'Pager' => 'tel_pager',
|
|
||||||
'Haupttelefon' => '',
|
|
||||||
'Mobiltelefon 2' => '',
|
|
||||||
'Telefon für Hörbehinderte' => '',
|
|
||||||
'Telex' => '',
|
|
||||||
'Abrechnungsinformation' => '',
|
|
||||||
'Benutzer 1' => '',
|
|
||||||
'Benutzer 2' => '',
|
|
||||||
'Benutzer 3' => '',
|
|
||||||
'Benutzer 4' => '',
|
|
||||||
'Beruf' => '',
|
|
||||||
'Büro' => '',
|
|
||||||
'E-Mail-Adresse' => 'email',
|
|
||||||
'E-Mail: Angezeigter Name' => '',
|
|
||||||
'E-Mail 2: Adresse' => 'email_home',
|
|
||||||
'E-Mail 2: Angezeigter Name' => '',
|
|
||||||
'E-Mail 3: Adresse' => '',
|
|
||||||
'E-Mail 3: Angezeigter Name' => '',
|
|
||||||
'Empfohlen von' => '',
|
|
||||||
'Geburtstag' => 'bday',
|
|
||||||
'Geschlecht' => '',
|
|
||||||
'Hobby' => '',
|
|
||||||
'Initialen' => '',
|
|
||||||
'Internet-Frei/Gebucht' => '',
|
|
||||||
'Jahrestag' => '',
|
|
||||||
'Kategorien' => '',
|
|
||||||
'Kinder' => '',
|
|
||||||
'Konto' => '',
|
|
||||||
'Name Assistent' => '',
|
|
||||||
'Name des/der Vorgesetzten' => '',
|
|
||||||
'Notizen' => 'note',
|
|
||||||
'Organisations-Nr.' => '',
|
|
||||||
'Ort' => '',
|
|
||||||
'Partner' => '',
|
|
||||||
'Postfach' => '',
|
|
||||||
'Priorität' => '',
|
|
||||||
'Privat' => '',
|
|
||||||
'Regierungs-Nr.' => '',
|
|
||||||
'Reisekilometer' => '',
|
|
||||||
'Sprache' => '',
|
|
||||||
'Stichwörter' => '',
|
|
||||||
'Vertraulichkeit' => '',
|
|
||||||
'Verzeichnisserver' => '',
|
|
||||||
'Webseite' => 'url'
|
|
||||||
);
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
$top = array();
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = $top;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('\n','<BR>',$value);
|
|
||||||
$value = str_replace('\r','',$value);
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id] = '';
|
|
||||||
while(list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
//echo '<br>'.$name.' => '.$value;
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
//echo '<br>';
|
|
||||||
for($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
while(list($name,$value) = @each($buffer[$i]))
|
|
||||||
{
|
|
||||||
//echo '<br>'.$i.': '.$name.' => '.$value;
|
|
||||||
$entry[$i][$name] = $value;
|
|
||||||
}
|
|
||||||
$entry[$i]['email_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['email_home_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['adr_one_type'] = 'intl';
|
|
||||||
$entry[$i]['adr_two_type'] = 'intl';
|
|
||||||
$entry[$i]['fn'] = $entry[$i]['n_given'] . ' ' . $entry[$i]['n_family'];
|
|
||||||
//echo '<br>';
|
|
||||||
$contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry[$i],$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,178 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// import file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// An exported Outlook file looks like this:
|
|
||||||
//
|
|
||||||
// Title<tab>First Name<tab>Middle Name<tab>Last Name<tab>...
|
|
||||||
// <tab>Patrick<tab><tab>Walsh<tab>...
|
|
||||||
//
|
|
||||||
// Where the first line explains each optional field. This is what
|
|
||||||
// will be looked up in the key.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
var $type = 'csv';
|
|
||||||
|
|
||||||
var $import = array(
|
|
||||||
'Title' => 'n_prefix',
|
|
||||||
'First Name' => 'n_given',
|
|
||||||
'Middle Name' => 'n_middle',
|
|
||||||
'Last Name' => 'n_family',
|
|
||||||
'Suffix' => 'n_suffix',
|
|
||||||
'Company' => 'org_name', //objectclass: organization
|
|
||||||
'Department' => 'org_unit', //objectclass: organizationalPerson
|
|
||||||
'Job Title' => 'title', //objectclass: organizationalPerson
|
|
||||||
'Business Street' => 'adr_one_street',
|
|
||||||
'Business Street 2' => 'address2',
|
|
||||||
'Business Street 3' => 'address3',
|
|
||||||
'Business City' => 'adr_one_locality',
|
|
||||||
'Business State' => 'adr_one_region',
|
|
||||||
'Business Postal Code' => 'adr_one_postalcode',
|
|
||||||
'Business Country' => 'adr_one_countryname',
|
|
||||||
'Home Street' => 'adr_two_street',
|
|
||||||
'Home City' => 'adr_two_locality',
|
|
||||||
'Home State' => 'adr_two_region',
|
|
||||||
'Home Postal Code' => 'adr_two_postalcode',
|
|
||||||
'Home Country' => 'adr_two_countryname',
|
|
||||||
'Home Street 2' => '',
|
|
||||||
'Home Street 3' => '',
|
|
||||||
'Other Street' => '',
|
|
||||||
'Other City' => '',
|
|
||||||
'Other State' => '',
|
|
||||||
'Other Postal Code' => '',
|
|
||||||
'Other Country' => '',
|
|
||||||
"Assistant's Phone" => 'tel_msg',
|
|
||||||
'Business Fax' => 'tel_fax',
|
|
||||||
'Business Phone' => 'tel_work',
|
|
||||||
'Business Phone 2' => 'ophone',
|
|
||||||
'Callback' => '',
|
|
||||||
'Car Phone' => 'tel_car',
|
|
||||||
'Company Main Phone' => '',
|
|
||||||
'Home Fax' => '',
|
|
||||||
'Home Phone' => 'tel_home',
|
|
||||||
'Home Phone 2' => '', //This will make another homePhone entry
|
|
||||||
'ISDN' => 'tel_isdn',
|
|
||||||
'Mobile Phone' => 'tel_cell', //newPilotPerson
|
|
||||||
'Other Fax' => '',
|
|
||||||
'Other Phone' => '',
|
|
||||||
'Pager' => 'tel_pager',
|
|
||||||
'Primary Phone' => '',
|
|
||||||
'Radio Phone' => '',
|
|
||||||
'TTY/TDD Phone' => '',
|
|
||||||
'Telex' => '', //organization
|
|
||||||
'Account' => '',
|
|
||||||
'Anniversary' => '',
|
|
||||||
"Assistant's Name" => '', //newPilotPerson
|
|
||||||
'Billing Information' => '',
|
|
||||||
'Birthday' => 'bday',
|
|
||||||
'Categories' => '',
|
|
||||||
'Children' => '',
|
|
||||||
'Directory Server' => '',
|
|
||||||
'E-mail Address' => 'email',
|
|
||||||
'E-mail Display Name' => '',
|
|
||||||
'E-mail 2 Address' => 'email_home',
|
|
||||||
'E-mail 2 Display Name' => '',
|
|
||||||
'E-mail 3 Address' => '', //add another...
|
|
||||||
'E-mail 3 Display Name' => '',
|
|
||||||
'Gender' => '',
|
|
||||||
'Government ID Number' => '',
|
|
||||||
'Hobby' => '',
|
|
||||||
'Initials' => '',
|
|
||||||
'Internet Free Busy' => '',
|
|
||||||
'Keywords' => '',
|
|
||||||
'Language' => '',
|
|
||||||
'Location' => '',
|
|
||||||
"Manager's Name" => '',
|
|
||||||
'Mileage' => '',
|
|
||||||
'Notes' => 'note',
|
|
||||||
'Office Location' => '',
|
|
||||||
'Organizational ID Number' => '',
|
|
||||||
'PO Box' => '',
|
|
||||||
'Priority' => '',
|
|
||||||
'Private Profession' => '',
|
|
||||||
'Referred By' => '',
|
|
||||||
'Sensitivity' => '',
|
|
||||||
'Spouse' => '',
|
|
||||||
'User 1' => '',
|
|
||||||
'User 2' => '',
|
|
||||||
'User 3' => '',
|
|
||||||
'User 4' => '',
|
|
||||||
'Web Page' => 'url'
|
|
||||||
);
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
$top = array();
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = $top;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('\n','<BR>',$value);
|
|
||||||
$value = str_replace('\r','',$value);
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id] = '';
|
|
||||||
while(list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
//echo '<br>'.$name.' => '.$value;
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
//echo '<br>';
|
|
||||||
for($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
while(list($name,$value) = @each($buffer[$i]))
|
|
||||||
{
|
|
||||||
//echo '<br>'.$i.': '.$name.' => '.$value;
|
|
||||||
$entry[$i][$name] = $value;
|
|
||||||
}
|
|
||||||
$entry[$i]['email_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['email_home_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['adr_one_type'] = 'intl';
|
|
||||||
$entry[$i]['adr_two_type'] = 'intl';
|
|
||||||
$entry[$i]['fn'] = $entry[$i]['n_given'] . ' ' . $entry[$i]['n_family'];
|
|
||||||
//echo '<br>';
|
|
||||||
$contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry[$i],$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,180 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// import file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// An exported Outlook file looks like this:
|
|
||||||
//
|
|
||||||
// Title<tab>First Name<tab>Middle Name<tab>Last Name<tab>...
|
|
||||||
// <tab>Patrick<tab><tab>Walsh<tab>...
|
|
||||||
//
|
|
||||||
// Where the first line explains each optional field. This is what
|
|
||||||
// will be looked up in the key.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
/* File submitted by Alejandro Pedraza - alpeb@sourceforge.net */
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
var $type = 'csv';
|
|
||||||
|
|
||||||
var $import = array(
|
|
||||||
'Tratamiento' => 'n_prefix',
|
|
||||||
'Nombre' => 'n_given',
|
|
||||||
'Segundo Nombre' => 'n_middle',
|
|
||||||
'Apellidos' => 'n_family',
|
|
||||||
'Sufijo' => 'n_suffix',
|
|
||||||
'Organización' => 'org_name', //objectclass: organization
|
|
||||||
'Departmento' => 'org_unit', //objectclass: organizationalPerson
|
|
||||||
'Puesto' => 'title', //objectclass: organizationalPerson
|
|
||||||
'Calle del trabajo' => 'adr_one_street',
|
|
||||||
'Calle del trabajo 2' => 'address2',
|
|
||||||
'Calle del trabajo 3' => 'address3',
|
|
||||||
'Ciudad de trabajo' => 'adr_one_locality',
|
|
||||||
'Provincia o estado de trabajo' => 'adr_one_region',
|
|
||||||
'Código postal del trabajo' => 'adr_one_postalcode',
|
|
||||||
'País de trabajo' => 'adr_one_countryname',
|
|
||||||
'Calle del domicilio' => 'adr_two_street',
|
|
||||||
'Ciudad de residencia' => 'adr_two_locality',
|
|
||||||
'Provincia o estado de residencia' => 'adr_two_region',
|
|
||||||
'Código postal de residencia' => 'adr_two_postalcode',
|
|
||||||
'País de residencia' => 'adr_two_countryname',
|
|
||||||
'Calle del domicilio 2' => '',
|
|
||||||
'Calle del domicilio 3' => '',
|
|
||||||
'Otra calle' => '',
|
|
||||||
'Otra ciudad' => '',
|
|
||||||
'Otra provincia o estado' => '',
|
|
||||||
'Otro código postal' => '',
|
|
||||||
'Otro país' => '',
|
|
||||||
"Teléfono del ayudante" => 'tel_msg',
|
|
||||||
'Fax del trabajo' => 'tel_fax',
|
|
||||||
'Teléfono del trabajo' => 'tel_work',
|
|
||||||
'Teléfono del trabajo 2' => 'ophone',
|
|
||||||
'Devolución de llamada' => '',
|
|
||||||
'Teléfono del automóvil' => 'tel_car',
|
|
||||||
'Número de centralita de la organización' => '',
|
|
||||||
'Fax particular' => '',
|
|
||||||
'Particular' => 'tel_home',
|
|
||||||
'Número de teléfono particular 2' => '', //This will make another homePhone entry
|
|
||||||
'RDSI' => 'tel_isdn',
|
|
||||||
'Móvil' => 'tel_cell', //newPilotPerson
|
|
||||||
'Otro fax' => '',
|
|
||||||
'Otro teléfono' => '',
|
|
||||||
'Localizador' => 'tel_pager',
|
|
||||||
'Teléfono principal' => '',
|
|
||||||
'Radioteléfono' => '',
|
|
||||||
'Número de teletipo' => '',
|
|
||||||
'Télex' => '', //organization
|
|
||||||
'Cuenta' => '',
|
|
||||||
'Aniversario' => '',
|
|
||||||
"Nombre del ayudante" => '', //newPilotPerson
|
|
||||||
'Facturación' => '',
|
|
||||||
'Cumpleaños' => 'bday',
|
|
||||||
'Categorías' => '',
|
|
||||||
'Hijos' => '',
|
|
||||||
'Servidor de directorio' => '',
|
|
||||||
'Dirección de correo electrónico' => 'email',
|
|
||||||
'Nombre de pantalla de correo electrónico' => '',
|
|
||||||
'Dirección de correo electrónico 2' => 'email_home',
|
|
||||||
'Nombre de pantalla de correo electrónico 2' => '',
|
|
||||||
'Dirección del correo electrónico 3' => '', //add another...
|
|
||||||
'Nombre de pantalla de correo electrónico 3' => '',
|
|
||||||
'Género' => '',
|
|
||||||
'Número de id. oficial' => '',
|
|
||||||
'Aficiones' => '',
|
|
||||||
'Iniciales' => '',
|
|
||||||
'Internet Free Busy' => '',
|
|
||||||
'Palabras clave' => '',
|
|
||||||
'Idioma' => '',
|
|
||||||
'Ubicación' => '',
|
|
||||||
"Nombre del director" => '',
|
|
||||||
'Kilometraje' => '',
|
|
||||||
'Notas' => 'note',
|
|
||||||
'Ubicación de la oficina' => '',
|
|
||||||
'Número de id. de la organización' => '',
|
|
||||||
'Apartado postal' => '',
|
|
||||||
'Importancia' => '',
|
|
||||||
'Privado'=>'',
|
|
||||||
'Profesión' => '',
|
|
||||||
'Remitido por' => '',
|
|
||||||
'Confidencialidad' => '',
|
|
||||||
'Cónyuge' => '',
|
|
||||||
'Usuario 1' => '',
|
|
||||||
'Usuario 2' => '',
|
|
||||||
'Usuario 3' => '',
|
|
||||||
'Usuario 4' => '',
|
|
||||||
'Página Web' => 'url'
|
|
||||||
);
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
$top=array();
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = $top;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('\n','<BR>',$value);
|
|
||||||
$value = str_replace('\r','',$value);
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id]='';
|
|
||||||
while ( list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
//echo '<br>'.$name.' => '.$value;
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
//echo '<br>';
|
|
||||||
for ($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
while ( list($name,$value) = @each($buffer[$i]) )
|
|
||||||
{
|
|
||||||
//echo '<br>'.$i.': '.$name.' => '.$value;
|
|
||||||
$entry[$i][$name] = $value;
|
|
||||||
}
|
|
||||||
$entry[$i]['email_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['email_home_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['adr_one_type'] = 'intl';
|
|
||||||
$entry[$i]['adr_two_type'] = 'intl';
|
|
||||||
$entry[$i]['fn'] = $entry[$i]['n_given'] . ' ' . $entry[$i]['n_family'];
|
|
||||||
//echo '<br>';
|
|
||||||
$contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry[$i],$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,176 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// import file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// An exported Outlook file looks like this:
|
|
||||||
//
|
|
||||||
// Title<tab>First Name<tab>Middle Name<tab>Last Name<tab>...
|
|
||||||
// <tab>Patrick<tab><tab>Walsh<tab>...
|
|
||||||
//
|
|
||||||
// Where the first line explains each optional field. This is what
|
|
||||||
// will be looked up in the key.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
var $type = 'csv';
|
|
||||||
|
|
||||||
/* Thanks to ledruide for the Outlook fields */
|
|
||||||
var $import = array(
|
|
||||||
'Fonction' => 'title',
|
|
||||||
'Prénom' => 'n_given',
|
|
||||||
'Deuxième prénom' => 'n_middle',
|
|
||||||
'Nom' => 'n_family',
|
|
||||||
'Suffixe' => 'n_suffix',
|
|
||||||
'Société' => 'org_name',
|
|
||||||
'Service' => 'org_unit',
|
|
||||||
'Rue (bureau)' => 'adr_one_street',
|
|
||||||
'Rue (bureau) 2' => 'address2',
|
|
||||||
'Rue (bureau) 3' => 'address3',
|
|
||||||
'Ville (bureau)' => 'adr_one_locality',
|
|
||||||
'État/Prov (bureau)' => 'adr_one_region',
|
|
||||||
'Code postal (bureau)' => 'adr_one_postalcode',
|
|
||||||
'Pays (bureau)' => 'adr_one_countryname',
|
|
||||||
'Rue (domicile)' => 'adr_two_street',
|
|
||||||
'Rue (domicile) 3' => '',
|
|
||||||
'Rue (domicile) 3' => '',
|
|
||||||
'Ville (domicile)' => 'adr_two_locality',
|
|
||||||
'État/Prov (domicile)' => 'adr_two_region',
|
|
||||||
'Code postal (domicile)' => 'adr_two_postalcode',
|
|
||||||
'Pays (domicile)' => 'adr_two_countryname',
|
|
||||||
'Rue (autre)' => '',
|
|
||||||
'Rue (autre) 2' => '',
|
|
||||||
'Rue (autre) 3' => '',
|
|
||||||
'Ville (autre)' => '',
|
|
||||||
'État/Prov (autre)' => '',
|
|
||||||
'Code postal (autre)' => '',
|
|
||||||
'Pays (autre)' => '',
|
|
||||||
"Téléphone de l'assistant(e)" => 'tel_msg',
|
|
||||||
'Télécopie (bureau)' => 'tel_fax',
|
|
||||||
'Téléphone (bureau)' => 'tel_work',
|
|
||||||
'Téléphone 2 (bureau)' => 'ophone',
|
|
||||||
'Rappel' => '',
|
|
||||||
'Téléphone (voiture)' => 'tel_car',
|
|
||||||
'Téléphone société' => '',
|
|
||||||
'Télécopie (domicile)' => '',
|
|
||||||
'Téléphone (domicile)' => 'tel_home',
|
|
||||||
'Téléphone 2 (domicile)' => '',
|
|
||||||
'RNIS' => 'tel_isdn',
|
|
||||||
'Tél. mobile' => 'tel_cell',
|
|
||||||
'Télécopie (autre)' => '',
|
|
||||||
'Téléphone (autre)' => '',
|
|
||||||
'Récepteur de radiomessagerie' => 'tel_pager',
|
|
||||||
'Téléphone principal' => '',
|
|
||||||
'Radio téléphone' => '',
|
|
||||||
'Téléphone TDD/TTY' => '',
|
|
||||||
'Télex' => '',
|
|
||||||
'Compte' => '',
|
|
||||||
'Anniversaire de mariage ou fête' => '',
|
|
||||||
"Nom de l'assistant(e)" => '',
|
|
||||||
'Informations facturation' => '',
|
|
||||||
'Anniversaire' => 'bday',
|
|
||||||
'Catégories' => '',
|
|
||||||
'Enfants' => '',
|
|
||||||
'Adresse e-mail' => 'email',
|
|
||||||
"Nom complet de l'adresse e-mail" => '',
|
|
||||||
'Adresse e-mail 2' => 'email_home',
|
|
||||||
"Nom complet de l'adresse e-mail 2" => '',
|
|
||||||
'Adresse e-mail 3' => '',
|
|
||||||
"Nom complet de l'adresse e-mail 3" => '',
|
|
||||||
'Sexe' => '',
|
|
||||||
'Code gouvernement' => '',
|
|
||||||
'Passe-temps' => '',
|
|
||||||
'Initiales' => '',
|
|
||||||
'Mots clés' => '',
|
|
||||||
'Langue' => '',
|
|
||||||
'Lieu' => '',
|
|
||||||
'Kilométrage' => '',
|
|
||||||
'Notes' => 'note',
|
|
||||||
'Bureau' => '',
|
|
||||||
"Numéro d'identification de l'organisation" => '',
|
|
||||||
'B.P.' => '',
|
|
||||||
'Privé' => '',
|
|
||||||
'Profession' => '',
|
|
||||||
'Recommandé par' => '',
|
|
||||||
'Conjoint(e)' => '',
|
|
||||||
'Utilisateur 1' => '',
|
|
||||||
'Utilisateur 2' => '',
|
|
||||||
'Utilisateur 3' => '',
|
|
||||||
'Utilisateur 4' => '',
|
|
||||||
'Page Web' => 'url'
|
|
||||||
);
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
$top = array();
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = $top;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('\n','<BR>',$value);
|
|
||||||
$value = str_replace('\r','',$value);
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id] = '';
|
|
||||||
while(list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
//echo '<br>'.$name.' => '.$value;
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
//echo '<br>';
|
|
||||||
for($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
while(list($name,$value) = @each($buffer[$i]))
|
|
||||||
{
|
|
||||||
//echo '<br>'.$i.': '.$name.' => '.$value;
|
|
||||||
$entry[$i][$name] = $value;
|
|
||||||
}
|
|
||||||
$entry[$i]['email_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['email_home_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['adr_one_type'] = 'intl';
|
|
||||||
$entry[$i]['adr_two_type'] = 'intl';
|
|
||||||
$entry[$i]['fn'] = $entry[$i]['n_given'] . ' ' . $entry[$i]['n_family'];
|
|
||||||
//echo '<br>';
|
|
||||||
$contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry[$i],$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,187 +0,0 @@
|
|||||||
<?php
|
|
||||||
// This file defines a set of functions and an associative array.
|
|
||||||
// The key of the array corresponds to a header in the source
|
|
||||||
// import file and the value of the array item will be used in
|
|
||||||
// the creation of the output file.
|
|
||||||
//
|
|
||||||
// An exported Outlook file looks like this:
|
|
||||||
//
|
|
||||||
// Title<tab>First Name<tab>Middle Name<tab>Last Name<tab>...
|
|
||||||
// <tab>Patrick<tab><tab>Walsh<tab>...
|
|
||||||
//
|
|
||||||
// Where the first line explains each optional field. This is what
|
|
||||||
// will be looked up in the key.
|
|
||||||
//
|
|
||||||
// The array need not be in any order and any fields not defined will
|
|
||||||
// not be transferred. If the val='+', the value will be appended to
|
|
||||||
// the previous field and any text after the '+' will be appended
|
|
||||||
// before the value. For example, the following would add a comma and
|
|
||||||
// a space between LastName and FirstName and store it in FullName:
|
|
||||||
//
|
|
||||||
// array('LastName' => 'FullName','FirstName' => '+, ');
|
|
||||||
//
|
|
||||||
// Also start with a '#' symbol and a comma separated list will be
|
|
||||||
// turned into a number of the same entries.
|
|
||||||
|
|
||||||
/* $Id$ */
|
|
||||||
|
|
||||||
class import_conv
|
|
||||||
{
|
|
||||||
var $currentrecord = array(); //used for buffering to allow uid lines to go first
|
|
||||||
var $id;
|
|
||||||
var $type = 'csv';
|
|
||||||
|
|
||||||
var $import = array(
|
|
||||||
'Titolo' => 'n_prefix',
|
|
||||||
'Nome' => 'n_given',
|
|
||||||
'Secondo nome' => 'n_middle',
|
|
||||||
'Cognome' => 'n_family',
|
|
||||||
'Titolo straniero' => 'n_suffix',
|
|
||||||
'Società' => 'org_name', //objectclass: organization
|
|
||||||
'Reparto' => 'org_unit', //objectclass: organizationalPerson
|
|
||||||
'Posizione' => 'title', //objectclass: organizationalPerson
|
|
||||||
'Via (uff.)' => 'adr_one_street',
|
|
||||||
'Via (uff.) 2' => 'address2',
|
|
||||||
'Via (uff.) 3' => 'address3',
|
|
||||||
'Città (uff.)' => 'adr_one_locality',
|
|
||||||
'Provincia (uff.)' => 'adr_one_region',
|
|
||||||
'CAP (uff.)' => 'adr_one_postalcode',
|
|
||||||
'Paese (uff.)' => 'adr_one_countryname',
|
|
||||||
'Via (ab.)' => 'adr_two_street',
|
|
||||||
'Città (ab.)' => 'adr_two_locality',
|
|
||||||
'Provincia (ab.)' => 'adr_two_region',
|
|
||||||
'CAP (ab.)' => 'adr_two_postalcode',
|
|
||||||
'Paese (ab.)' => 'adr_two_countryname',
|
|
||||||
'Via (ab.) 2' => '',
|
|
||||||
'Via (ab.) 3' => '',
|
|
||||||
'Altra via' => '',
|
|
||||||
'Altra via 2' => '',
|
|
||||||
'Altra via 3' => '',
|
|
||||||
'Altra città' => '',
|
|
||||||
'Altra provincia' => '',
|
|
||||||
'Altro CAP' => '',
|
|
||||||
'Altro paese' => '',
|
|
||||||
"Telefono assistente" => 'tel_msg',
|
|
||||||
'Fax (uff.)' => 'tel_fax',
|
|
||||||
'Ufficio' => 'tel_work',
|
|
||||||
'Ufficio 2' => 'ophone',
|
|
||||||
'Richiamata automatica' => '',
|
|
||||||
'Telefono auto' => 'tel_car',
|
|
||||||
'Telefono principale società' => '',
|
|
||||||
'Fax (ab.)' => '',
|
|
||||||
'Abitazione' => 'tel_home',
|
|
||||||
'Abitazione 2' => '', //This will make another homePhone entry
|
|
||||||
'ISDN' => 'tel_isdn',
|
|
||||||
'Cellulare' => 'tel_cell', //newPilotPerson
|
|
||||||
'Altro fax' => '',
|
|
||||||
'Altro telefono' => '',
|
|
||||||
'Cercapersone' => 'tel_pager',
|
|
||||||
'Telefono principale' => '',
|
|
||||||
'Radiotelefono' => '',
|
|
||||||
'Telefono TTY/TDD' => '',
|
|
||||||
'Telex' => '', //organization
|
|
||||||
'Account' => '',
|
|
||||||
'Anniversario' => '',
|
|
||||||
'Nome assistente' => '', //newPilotPerson
|
|
||||||
'Dati fatturazione' => '',
|
|
||||||
'Compleanno' => 'bday',
|
|
||||||
'Categorie' => '',
|
|
||||||
'Figli' => '',
|
|
||||||
'Server di elenchi in linea' => '',
|
|
||||||
'Indirizzo posta elettronica' => 'email',
|
|
||||||
'Nome visualizzato posta elettronica' => '',
|
|
||||||
'Indirizzo posta elettronica 2' => 'email_home',
|
|
||||||
'Nome visualizzato posta elettronica 2' => '',
|
|
||||||
'Indirizzo posta elettronica 3' => '', //add another...
|
|
||||||
'Nome visualizzato posta elettronica 3' => '',
|
|
||||||
'Sesso' => '',
|
|
||||||
'Cod. Fisc./P. IVA' => '',
|
|
||||||
'Hobby' => '',
|
|
||||||
'Iniziali' => '',
|
|
||||||
'Disponibilità Internet' => '',
|
|
||||||
'Parole chiave' => '',
|
|
||||||
'Lingua' => '',
|
|
||||||
'Luogo' => '',
|
|
||||||
'Tipo posta elettronica' => '',
|
|
||||||
'Tipo posta elettronica 2' => '',
|
|
||||||
'Tipo posta elettronica 3' => '',
|
|
||||||
'Privato' => '',
|
|
||||||
'Sesso' => '',
|
|
||||||
'Ubicazione ufficio' => '',
|
|
||||||
'Indirizzo (ab.) - Casella postale' => '',
|
|
||||||
'Nome manager' => '',
|
|
||||||
'Indennità trasferta' => '',
|
|
||||||
'Notes' => 'note',
|
|
||||||
'Indirizzo (uff.) - Casella postale' => '',
|
|
||||||
'Numero ID organizzativo' => '',
|
|
||||||
'Altro indirizzo - Casella postale' => '',
|
|
||||||
'Priorità' => '',
|
|
||||||
'Professione' => '',
|
|
||||||
'Presentato da' => '',
|
|
||||||
'Riservatezza' => '',
|
|
||||||
'Nome coniuge' => '',
|
|
||||||
'Utente 1' => '',
|
|
||||||
'Utente 2' => '',
|
|
||||||
'Utente 3' => '',
|
|
||||||
'Utente 4' => '',
|
|
||||||
'Pagina Web' => 'url'
|
|
||||||
);
|
|
||||||
|
|
||||||
function import_start_file($buffer)
|
|
||||||
{
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_start_record($buffer)
|
|
||||||
{
|
|
||||||
$top = array();
|
|
||||||
++$this->id;
|
|
||||||
$this->currentrecord = $top;
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_new_attrib($buffer,$name,$value)
|
|
||||||
{
|
|
||||||
$value = trim($value);
|
|
||||||
$value = str_replace('\n','<BR>',$value);
|
|
||||||
$value = str_replace('\r','',$value);
|
|
||||||
$this->currentrecord += array($name => $value);
|
|
||||||
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_record($buffer)
|
|
||||||
{
|
|
||||||
$buffer[$this->id] = '';
|
|
||||||
while(list($name, $value) = each($this->currentrecord))
|
|
||||||
{
|
|
||||||
$buffer[$this->id][$name] = $value;
|
|
||||||
//echo '<br>'.$name.' => '.$value;
|
|
||||||
}
|
|
||||||
return $buffer;
|
|
||||||
}
|
|
||||||
|
|
||||||
function import_end_file($buffer,$access='private',$cat_id=0)
|
|
||||||
{
|
|
||||||
$contacts = CreateObject('phpgwapi.contacts');
|
|
||||||
//echo '<br>';
|
|
||||||
for($i=1;$i<=count($buffer);$i++)
|
|
||||||
{
|
|
||||||
while(list($name,$value) = @each($buffer[$i]))
|
|
||||||
{
|
|
||||||
//echo '<br>'.$i.': '.$name.' => '.$value;
|
|
||||||
$entry[$i][$name] = $value;
|
|
||||||
}
|
|
||||||
$entry[$i]['email_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['email_home_type'] = 'INTERNET';
|
|
||||||
$entry[$i]['adr_one_type'] = 'intl';
|
|
||||||
$entry[$i]['adr_two_type'] = 'intl';
|
|
||||||
$entry[$i]['fn'] = $entry[$i]['n_given'] . ' ' . $entry[$i]['n_family'];
|
|
||||||
//echo '<br>';
|
|
||||||
$contacts->add($GLOBALS['phpgw_info']['user']['account_id'],$entry[$i],$access,$cat_id);
|
|
||||||
}
|
|
||||||
$num = $i - 1;
|
|
||||||
return lang('Successfully imported %1 records into your addressbook.',$num);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
?>
|
|
@ -1,26 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare - Addressbook *
|
|
||||||
* 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$ */
|
|
||||||
|
|
||||||
$GLOBALS['egw_info'] = array();
|
|
||||||
$GLOBALS['egw_info']['flags'] = array(
|
|
||||||
'currentapp' => 'addressbook',
|
|
||||||
'noheader' => True,
|
|
||||||
'nonavbar' => True
|
|
||||||
);
|
|
||||||
include('../header.inc.php');
|
|
||||||
|
|
||||||
$obj = CreateObject('addressbook.uiaddressbook');
|
|
||||||
$obj->index();
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->common->phpgw_footer();
|
|
||||||
?>
|
|
@ -1,6 +1,5 @@
|
|||||||
%1 records imported addressbook bg Âíåñåíè ñà %1 çàïèñà
|
%1 records imported addressbook bg Âíåñåíè ñà %1 çàïèñà
|
||||||
(e.g. 1969) addressbook bg (íàïðèìåð 1969ã.)
|
(e.g. 1969) addressbook bg (íàïðèìåð 1969ã.)
|
||||||
actions addressbook bg Äåéñòâèÿ
|
|
||||||
address book common bg Àäðåñíèê
|
address book common bg Àäðåñíèê
|
||||||
addressbook common bg Àäðåñíèê
|
addressbook common bg Àäðåñíèê
|
||||||
addressbook preferences addressbook bg Íàñòðîéêè íà àäðåñíèêà
|
addressbook preferences addressbook bg Íàñòðîéêè íà àäðåñíèêà
|
||||||
@ -11,7 +10,6 @@ business email addressbook bg
|
|||||||
business email type addressbook bg Âèä íà ñëóæåáíàòà ÅÏîùà
|
business email type addressbook bg Âèä íà ñëóæåáíàòà ÅÏîùà
|
||||||
business fax addressbook bg Ñëóæåáåí ôàêñ
|
business fax addressbook bg Ñëóæåáåí ôàêñ
|
||||||
business phone addressbook bg Ñëóæåáåí òåëåôîí
|
business phone addressbook bg Ñëóæåáåí òåëåôîí
|
||||||
business zip code addressbook bg Ñëóæåáåí ïîùåíñêè êîä
|
|
||||||
car phone addressbook bg Òåëåôîí â àâòîìîáèë
|
car phone addressbook bg Òåëåôîí â àâòîìîáèë
|
||||||
cell phone addressbook bg êëåòú÷åí òåëåôîí
|
cell phone addressbook bg êëåòú÷åí òåëåôîí
|
||||||
city common bg Ãðàä
|
city common bg Ãðàä
|
||||||
@ -19,8 +17,6 @@ company common bg
|
|||||||
company name common bg Èìå íà ôèðìàòà
|
company name common bg Èìå íà ôèðìàòà
|
||||||
configuration common bg Íàñòðîéêà
|
configuration common bg Íàñòðîéêà
|
||||||
department common bg Îòäåë
|
department common bg Îòäåë
|
||||||
download addressbook bg Èçòåãëÿíå
|
|
||||||
download export file (uncheck to debug output in browser) addressbook bg Èçòåãëÿíå íà åêñïîðò-ôàéëà (ìàõíåòå îòìåòêàòà çà ïîêàçâàíå â ïðîçîðåöà)
|
|
||||||
extra addressbook bg Äîïúëíèòåëíî
|
extra addressbook bg Äîïúëíèòåëíî
|
||||||
fax addressbook bg Ôàêñ
|
fax addressbook bg Ôàêñ
|
||||||
fax number common bg Íîìåð íà ôàêñ
|
fax number common bg Íîìåð íà ôàêñ
|
||||||
@ -32,12 +28,8 @@ fieldseparator addressbook bg
|
|||||||
home email addressbook bg Äîìàøíà ÅÏîùà
|
home email addressbook bg Äîìàøíà ÅÏîùà
|
||||||
home email type addressbook bg Âèä íà äîìàøíàòà ÅÏîùà
|
home email type addressbook bg Âèä íà äîìàøíàòà ÅÏîùà
|
||||||
home phone addressbook bg Äîìàøåí òåëåôîí
|
home phone addressbook bg Äîìàøåí òåëåôîí
|
||||||
import addressbook bg Âíàñÿíå
|
|
||||||
import contacts addressbook bg Âíàñÿíå íà êîíòàêòè
|
|
||||||
import from outlook addressbook bg Âíàñÿíå îò Outlook
|
|
||||||
isdn phone addressbook bg ISDN òåëåôîí
|
isdn phone addressbook bg ISDN òåëåôîí
|
||||||
label addressbook bg Åòèêåò
|
label addressbook bg Åòèêåò
|
||||||
ldap host for contacts admin bg LDAP ñúðâúð çà êîíòàêòèòå
|
|
||||||
ldif addressbook bg LDIF
|
ldif addressbook bg LDIF
|
||||||
line 2 addressbook bg Ðåä 2
|
line 2 addressbook bg Ðåä 2
|
||||||
mobile addressbook bg Ìîáèëåí
|
mobile addressbook bg Ìîáèëåí
|
||||||
@ -47,11 +39,9 @@ other phone addressbook bg
|
|||||||
pager common bg Ïåéäæúð
|
pager common bg Ïåéäæúð
|
||||||
phone number common bg Òåëåôîíåí íîìåð
|
phone number common bg Òåëåôîíåí íîìåð
|
||||||
phone numbers common bg Òåëåôîííè íîìåðà
|
phone numbers common bg Òåëåôîííè íîìåðà
|
||||||
please enter a name for that field ! addressbook bg Ìîëÿ âúâåäåòå èìå çà òîâà ïîëå!
|
|
||||||
public key addressbook bg Ïóáëè÷åí êëþ÷
|
public key addressbook bg Ïóáëè÷åí êëþ÷
|
||||||
record access addressbook bg Äîñòúï äî çàïèñà
|
record access addressbook bg Äîñòúï äî çàïèñà
|
||||||
record owner addressbook bg Ñîáñòâåíèê íà çàïèñà
|
record owner addressbook bg Ñîáñòâåíèê íà çàïèñà
|
||||||
select all addressbook bg Èçáèðàíå íà âñè÷êî
|
|
||||||
street common bg Óëèöà
|
street common bg Óëèöà
|
||||||
successfully imported %1 records into your addressbook. addressbook bg Óñïåøíî ñà âíåñåíè %1 çàïèñ(à) â àäðåñíèêà âè.
|
successfully imported %1 records into your addressbook. addressbook bg Óñïåøíî ñà âíåñåíè %1 çàïèñ(à) â àäðåñíèêà âè.
|
||||||
that field name has been used already ! addressbook bg Òîâà èìå íà ïîëå âå÷å å èçïîëçâàíî!
|
that field name has been used already ! addressbook bg Òîâà èìå íà ïîëå âå÷å å èçïîëçâàíî!
|
||||||
@ -60,6 +50,5 @@ this person's last name was not in the address book. addressbook bg
|
|||||||
today is %1's birthday! common bg Äíåñ å ðîæäåíèÿò äåí íà %1!
|
today is %1's birthday! common bg Äíåñ å ðîæäåíèÿò äåí íà %1!
|
||||||
tomorrow is %1's birthday. common bg Óòðå å ðîæäåíèÿò äåí íà %1!
|
tomorrow is %1's birthday. common bg Óòðå å ðîæäåíèÿò äåí íà %1!
|
||||||
video phone addressbook bg Âèäåîòåëåôîí
|
video phone addressbook bg Âèäåîòåëåôîí
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin bg ÂÍÈÌÀÍÈÅ! LDAP å âàëèäåí èçáîð ñàìî àêî ÍÅ èçïîëçâàòå êîíòàêòèòå çà ñúõðàíåíèå è íà ïîòðåáèòåëñêèòå àêàóíòè!
|
|
||||||
work phone addressbook bg Ñëóæåáåí òåëåôîí
|
work phone addressbook bg Ñëóæåáåí òåëåôîí
|
||||||
you must select at least 1 column to display addressbook bg Òðÿáâà äà èçáåðåòå ïîíå åäíà êîëîíà çà ïîêàçâàíå
|
you must select at least 1 column to display addressbook bg Òðÿáâà äà èçáåðåòå ïîíå åäíà êîëîíà çà ïîêàçâàíå
|
||||||
|
@ -1,166 +0,0 @@
|
|||||||
%1 records imported addressbook da %1 posteringer importeret
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook da %1 posteringer læst (ikke implamenteret endnu, du skalgå %2tilbage%3 og fravælge Test import
|
|
||||||
(e.g. 1969) addressbook da (f.eks 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook da <b>Ingen konverteringstype <none> blev fundet.</b> Vælg venligst en konverteringstype fra listen
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook da <b>Ingen konverteringstype <none> blev fundet.</b> Vælg venligst en konverteringstype fra listen
|
|
||||||
@-eval() is only availible to admins!!! addressbook da @-eval() er kun tilgængelig for administratorer!!!
|
|
||||||
actions addressbook da Handling
|
|
||||||
add a single entry by passing the fields. addressbook da
|
|
||||||
add custom field addressbook da Tilføj valgfrit felt
|
|
||||||
address book common da Adressebog
|
|
||||||
address book - vcard in addressbook da Adressebog - importer VCard
|
|
||||||
address book - view addressbook da Adressebog - kig
|
|
||||||
address line 2 addressbook da Adresse Linie 2
|
|
||||||
address line 3 addressbook da Adresse Linie 3
|
|
||||||
address type addressbook da Adresse Type
|
|
||||||
addressbook common da Adressebog
|
|
||||||
addressbook preferences addressbook da Adressebog preferencer
|
|
||||||
addressbook-fieldname addressbook da Adressebog feltnavn
|
|
||||||
addvcard addressbook da Tilføj VCard
|
|
||||||
alt. csv import addressbook da Alt. CSV Importering
|
|
||||||
are you sure you want to delete this field? addressbook da Er du sikker på at du vil slette dette felt?
|
|
||||||
bbs phone addressbook da BBS Telefonnummer
|
|
||||||
birthday common da Fødselsdag
|
|
||||||
birthdays common da Fødselsdage
|
|
||||||
blank addressbook da Blank
|
|
||||||
business common da Firma
|
|
||||||
business address type addressbook da Firma Adresse Type
|
|
||||||
business city addressbook da Firma By
|
|
||||||
business country addressbook da Firma Land
|
|
||||||
business email addressbook da Firma EMail
|
|
||||||
business email type addressbook da Firma EMail Type
|
|
||||||
business fax addressbook da Firma Fax
|
|
||||||
business phone addressbook da Firma Telefonnummer
|
|
||||||
business state addressbook da Firma Stat
|
|
||||||
business street addressbook da Firma Adresse
|
|
||||||
business zip code addressbook da Firma Postnummer
|
|
||||||
car phone addressbook da Bil telefonnummer
|
|
||||||
cell phone addressbook da Mobil telefonnummer
|
|
||||||
charset of file addressbook da Karakterset for fil
|
|
||||||
city common da By
|
|
||||||
company common da Firma
|
|
||||||
company name common da Firma navn
|
|
||||||
configuration common da Konfiguration
|
|
||||||
contact common da Kontakt
|
|
||||||
contact application admin da Kontakt applikation
|
|
||||||
contact settings admin da Kontakt Indstillinger
|
|
||||||
copied by %1, from record #%2. addressbook da Kopieret af %1, fra postering #%2.
|
|
||||||
country common da Land
|
|
||||||
csv-fieldname addressbook da CSV-Feltnavn
|
|
||||||
csv-filename addressbook da CVS-Filnavn
|
|
||||||
custom addressbook da Valgfri
|
|
||||||
custom fields addressbook da Valgfri Felter
|
|
||||||
debug output in browser addressbook da Vis fejlmeddelser i browser vinduet
|
|
||||||
default filter addressbook da Standard Filter
|
|
||||||
delete a single entry by passing the id. addressbook da
|
|
||||||
department common da Afdeling
|
|
||||||
domestic addressbook da Indlands
|
|
||||||
download addressbook da Download
|
|
||||||
download export file (uncheck to debug output in browser) addressbook da Hent eksporteret fil (fjern flag for fejlmeddelser i browser vinduet)
|
|
||||||
e-mail addressbook da E-mail
|
|
||||||
edit custom field addressbook da Ret Valgfrit Felt
|
|
||||||
edit custom fields admin da Ret Valgfrie Felter
|
|
||||||
empty for all addressbook da tøm for alt
|
|
||||||
enter the path to the exported file here addressbook da Indtast stien til den eksporteret fil her
|
|
||||||
export contacts addressbook da Eksporter Kontakter
|
|
||||||
export file name addressbook da Eksporter filnavn
|
|
||||||
export from addressbook addressbook da Eksporter fra adressebogen
|
|
||||||
extra addressbook da Ekstra
|
|
||||||
fax addressbook da Fax
|
|
||||||
fax number common da Faxnummer
|
|
||||||
field %1 has been added ! addressbook da Felt %1 er tilføjet!
|
|
||||||
field %1 has been updated ! addressbook da Felt %1 er opdateret!
|
|
||||||
field name addressbook da Feltnavn
|
|
||||||
field x has been added ! addressbook da Feltet $1 er blevet tilføjet!
|
|
||||||
fields to show in address list addressbook da Felter der skal vises på adresselisten
|
|
||||||
fieldseparator addressbook da Feltseperator
|
|
||||||
first name addressbook da Fornavn
|
|
||||||
full name addressbook da Fulde Navn
|
|
||||||
geo addressbook da GEO
|
|
||||||
global categories addressbook da Globale Kategorier
|
|
||||||
grant addressbook access common da Tildel adgang til adressbogen
|
|
||||||
home address type addressbook da Hjem Adresse Type
|
|
||||||
home city addressbook da Hjem By
|
|
||||||
home country addressbook da Hjem Land
|
|
||||||
home email addressbook da Hjem EMail
|
|
||||||
home email type addressbook da Hjem EMail Type
|
|
||||||
home phone addressbook da Hjem telefon
|
|
||||||
home state addressbook da Hjem Stat
|
|
||||||
home street addressbook da Hjem Adresse
|
|
||||||
home zip code addressbook da Hjem Postnummer
|
|
||||||
import addressbook da Importer
|
|
||||||
import contacts addressbook da Importer Kontakter
|
|
||||||
import csv-file into addressbook addressbook da Importer CVS-fil til adressebogen
|
|
||||||
import file addressbook da Importer Fil
|
|
||||||
import from ldif, csv, or vcard addressbook da Importer fra LDIF, CVS eller VCard
|
|
||||||
import from outlook addressbook da Importer fra Outlook
|
|
||||||
import next set addressbook da Impoter næste
|
|
||||||
import_instructions addressbook da I Netscape, åben Adressebogen og vælg <b>Export</b> fra <b>File</b> menuen. Den eksporteret fil vil være i LDIF formatet.<p>Eller i Outlook, vælg din kontakt mappe, vælg <b>Import and Export...</b> fra b>File</b> menuen og eksporter dine kontakt personer til en komma separeret fil (CSV). <p>Eller, i Palm Desktop 4.0 eller nyere, brug adressebogen og vælg <b>Export</b> fra <b>File</b> menuen. Den eksporteret fil vil være i VCard formatet
|
|
||||||
international addressbook da International
|
|
||||||
isdn phone addressbook da ISDN Telefonnummer
|
|
||||||
label addressbook da Mærkat
|
|
||||||
last name addressbook da Efternavn
|
|
||||||
ldap context for contacts admin da LDAP context til kontakter
|
|
||||||
ldap host for contacts admin da LDAP vært for kontakter
|
|
||||||
ldap root dn for contacts admin da LDAP root dn til kontakter
|
|
||||||
ldap root pw for contacts admin da LDAP root pw til kontakter
|
|
||||||
ldif addressbook da LDIF
|
|
||||||
line 2 addressbook da Linie 2
|
|
||||||
mark records as private addressbook da Markere posteringer som private
|
|
||||||
message phone addressbook da Meddellelses Telefonnummer
|
|
||||||
middle name addressbook da Mellemnavn(e)
|
|
||||||
mobile addressbook da Mobil
|
|
||||||
mobile phone addressbook da Mobiltelefonnummer
|
|
||||||
modem phone addressbook da Modem telefonnummer
|
|
||||||
no vcard addressbook da Ingen VCard
|
|
||||||
number of records to read (%1) addressbook da Antal posteringer at læse (%1)
|
|
||||||
other number addressbook da Andet nummer
|
|
||||||
other phone addressbook da Andet Telefonnummer
|
|
||||||
pager common da Pager
|
|
||||||
parcel addressbook da Pakke
|
|
||||||
phone number common da Telefonnummer
|
|
||||||
phone numbers common da Telefonnumre
|
|
||||||
please enter a name for that field ! addressbook da Skriv venligst et navn for det felt!
|
|
||||||
postal common da Post
|
|
||||||
pref addressbook da foretrukket
|
|
||||||
prefix addressbook da Prefix
|
|
||||||
public key addressbook da Offentlig Nøgle
|
|
||||||
read a list of entries. addressbook da Læs en liste af indtastninger
|
|
||||||
read a single entry by passing the id and fieldlist. addressbook da
|
|
||||||
record access addressbook da Posterings adgang
|
|
||||||
record owner addressbook da Posterings ejer
|
|
||||||
retrieve contacts admin da hent kontakter
|
|
||||||
select all addressbook da Vælg alle
|
|
||||||
select the type of conversion addressbook da Vælg type af konvertering
|
|
||||||
select the type of conversion: addressbook da Vælg type af konvertering:
|
|
||||||
select where you want to store admin da Vælg hvor du vil gemme
|
|
||||||
show birthday reminders on main screen addressbook da Påmind om fødselsdage på forsiden
|
|
||||||
startrecord addressbook da Start postering
|
|
||||||
state common da Land
|
|
||||||
street common da Vej navn
|
|
||||||
successfully imported %1 records into your addressbook. addressbook da Importerede %1 posteringer til din adressebog.
|
|
||||||
suffix addressbook da Suffix
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook da Test Import (viser <u>kun</u> importeret posteringer i browser vinduet)
|
|
||||||
that field name has been used already ! addressbook da Det felt navn er allerede blevet brugt!
|
|
||||||
this person's first name was not in the address book. addressbook da Denne persons fornavn var ikke i adressebogen.
|
|
||||||
this person's last name was not in the address book. addressbook da Denne persons efternavn var ikke i adressebogen.
|
|
||||||
time zone offset addressbook da tidszone forskel
|
|
||||||
title addressbook da Titel
|
|
||||||
to many might exceed your execution-time-limit addressbook da
|
|
||||||
today is %1's birthday! common da I dag er det %1's fødselsdag!
|
|
||||||
tomorrow is %1's birthday. common da I morgen er det %1's fødselsdag.
|
|
||||||
translation addressbook da Oversættelse
|
|
||||||
update a single entry by passing the fields. addressbook da
|
|
||||||
url addressbook da URL
|
|
||||||
use country list addressbook da Brug Lande Liste
|
|
||||||
vcard common da VCard
|
|
||||||
vcards require a first name entry. addressbook da VCards kræver et fornavn indtastet.
|
|
||||||
vcards require a last name entry. addressbook da VCards kræver et efternavn indtastet.
|
|
||||||
video phone addressbook da Video telefonnummer
|
|
||||||
voice phone addressbook da Voice telefonnummer
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin da ADVARSEL!! LDAP er kun tilgængeligt hvis du ikke bruger kontakter til at gemme kontoer!
|
|
||||||
work phone addressbook da Arbejds telefon
|
|
||||||
you must select a vcard. (*.vcf) addressbook da Du skal vælge et vcard. (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook da Du skal mindst vælge en kolonne
|
|
||||||
zip code common da Postnummer
|
|
||||||
zip_note addressbook da <p><b>Note:</b>Filen kan være en zip file med komprimeret .csv, .vcf eller .ldif filer. Men, importer kun en type ad gangen.
|
|
@ -1,167 +0,0 @@
|
|||||||
%1 records imported addressbook es-ca %1 registres importats
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook es-ca %1 registres llegits (no importats encara, podeu tornar %2enrere%3 i desmarcar Prova d'Importació)
|
|
||||||
(e.g. 1969) addressbook es-ca (p. ex. 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook es-ca <b>No s'ha trobat el tipus de conversió <cap>.</b> Seleccioneu un tipus de la llista
|
|
||||||
@-eval() is only availible to admins!!! addressbook es-ca @-eval() només és disponible per als administradors!!!
|
|
||||||
actions addressbook es-ca Accions
|
|
||||||
add a single entry by passing the fields. addressbook es-ca Afegir una entrada simple passant els camps
|
|
||||||
add custom field addressbook es-ca Afegir camp personalitzat
|
|
||||||
address book common es-ca Llibreta d'adreces
|
|
||||||
address book - vcard in addressbook es-ca Llibreta d'adreces - Entrada de targeta VCard
|
|
||||||
address book - view addressbook es-ca Llibreta d'adreces - veure
|
|
||||||
address line 2 addressbook es-ca Adreça línia 2
|
|
||||||
address line 3 addressbook es-ca Adreça línia 3
|
|
||||||
address type addressbook es-ca Tipus d'adreça
|
|
||||||
addressbook common es-ca Llibreta d'adreces
|
|
||||||
addressbook preferences addressbook es-ca Preferències de la llibreta d'adreces
|
|
||||||
addressbook-fieldname addressbook es-ca Camp - Llibreta d'adreces
|
|
||||||
addvcard addressbook es-ca Afegir VCard
|
|
||||||
alt. csv import addressbook es-ca Importar CSV (avançat)
|
|
||||||
are you sure you want to delete this field? addressbook es-ca Esteu segurs d'esborrar aquest camp?
|
|
||||||
bbs phone addressbook es-ca Telèfon BBS
|
|
||||||
birthday common es-ca Aniversari
|
|
||||||
birthdays common es-ca Aniversaris
|
|
||||||
blank addressbook es-ca Blanc
|
|
||||||
business common es-ca Treball
|
|
||||||
business address type addressbook es-ca Tipus d'adreça del treball
|
|
||||||
business city addressbook es-ca Ciutat del treball
|
|
||||||
business country addressbook es-ca País del treball
|
|
||||||
business email addressbook es-ca Correu electrònic del treball
|
|
||||||
business email type addressbook es-ca Tipus de correu electrònic del treball
|
|
||||||
business fax addressbook es-ca Fax del treball
|
|
||||||
business phone addressbook es-ca Telèfon del treball
|
|
||||||
business state addressbook es-ca Província del treball
|
|
||||||
business street addressbook es-ca Adreça del treball
|
|
||||||
business zip code addressbook es-ca Codi postal del treball
|
|
||||||
car phone addressbook es-ca Telèfon del cotxe
|
|
||||||
cell phone addressbook es-ca Telèfon móvil
|
|
||||||
charset of file addressbook es-ca Joc de caràcters de l'arxiu
|
|
||||||
city common es-ca Ciutat
|
|
||||||
company common es-ca Empresa
|
|
||||||
company name common es-ca Nom de l'empresa
|
|
||||||
configuration common es-ca Configuració
|
|
||||||
contact common es-ca Contacte
|
|
||||||
contact application admin es-ca Aplicació del contacte
|
|
||||||
contact settings admin es-ca Configuració dels contactes
|
|
||||||
copied by %1, from record #%2. addressbook es-ca Copiat per %1, del registre %2
|
|
||||||
country common es-ca País
|
|
||||||
csv-fieldname addressbook es-ca Camp CSV
|
|
||||||
csv-filename addressbook es-ca Arxiu CSV
|
|
||||||
custom addressbook es-ca Personalitzat
|
|
||||||
custom fields addressbook es-ca Camps personalitzats
|
|
||||||
debug output in browser addressbook es-ca Depurar sortida al navegador
|
|
||||||
default filter addressbook es-ca Filtre predeterminat
|
|
||||||
delete a single entry by passing the id. addressbook es-ca Esborrar una entrada senzilla passant l'id
|
|
||||||
department common es-ca Departament
|
|
||||||
domestic addressbook es-ca Domèstic
|
|
||||||
download addressbook es-ca Descarregar
|
|
||||||
download export file (uncheck to debug output in browser) addressbook es-ca Descarregar arxiu exportat (desmarcar per a depurar la sortida al navegador)
|
|
||||||
edit custom field addressbook es-ca Editar camp personalitzat
|
|
||||||
edit custom fields admin es-ca Editar camps personalitzats
|
|
||||||
empty for all addressbook es-ca buit per a tot
|
|
||||||
enter the path to the exported file here addressbook es-ca Introduïu el camí als arxius exportats aquí
|
|
||||||
export contacts addressbook es-ca Exportar contactes
|
|
||||||
export file name addressbook es-ca Nom de l'arxiu a exportar
|
|
||||||
export from addressbook addressbook es-ca Exportar des de la llibreta d'adreces
|
|
||||||
extra addressbook es-ca Extra
|
|
||||||
fax addressbook es-ca Fax
|
|
||||||
fax number common es-ca Número de Fax
|
|
||||||
field %1 has been added ! addressbook es-ca Camp %1 afegit !
|
|
||||||
field %1 has been updated ! addressbook es-ca Camp %1 actualitzat !
|
|
||||||
field name addressbook es-ca Nom del camp
|
|
||||||
fields to show in address list addressbook es-ca Camps a mostrar a la llista d'adreces
|
|
||||||
fieldseparator addressbook es-ca Separador de camps
|
|
||||||
full name addressbook es-ca Nom complet
|
|
||||||
geo addressbook es-ca GEO
|
|
||||||
global categories addressbook es-ca Categories globals
|
|
||||||
grant addressbook access common es-ca Atorgar accés a la llibreta
|
|
||||||
home address type addressbook es-ca Tipus d'adreça particular
|
|
||||||
home city addressbook es-ca Ciutat de residència
|
|
||||||
home country addressbook es-ca País de residència
|
|
||||||
home email addressbook es-ca Correu electrònic personal
|
|
||||||
home email type addressbook es-ca Tipus de correu electrònic personal
|
|
||||||
home phone addressbook es-ca Telèfon particular
|
|
||||||
home state addressbook es-ca Provincia de residència
|
|
||||||
home street addressbook es-ca Adreça particular
|
|
||||||
home zip code addressbook es-ca Codi postal
|
|
||||||
import addressbook es-ca Importar
|
|
||||||
import contacts addressbook es-ca Importar contactes
|
|
||||||
import csv-file into addressbook addressbook es-ca Importar arxiu CSV a la Llibreta d'adreces
|
|
||||||
import file addressbook es-ca Importar arxiu
|
|
||||||
import from addressbook es-ca Importa de
|
|
||||||
import from ldif, csv, or vcard addressbook es-ca Importar des de LDIF, CSV o VCard
|
|
||||||
import from outlook addressbook es-ca Importar des d'Outlook
|
|
||||||
import multiple vcard addressbook es-ca Importa VCard Múltiple
|
|
||||||
import next set addressbook es-ca Importar següent registre
|
|
||||||
import_instructions addressbook es-ca Si useu Mozilla o Netscape, obriu la llibreta d'adreces i seleccioneu <b>Exportar</b> des del menú <b>Arxiu</b>. L'arxiu exportat estarà en format LDIF.<p>O bé, en Outlook, seleccioneu la vostra carpeta de contactes, després, al menú <b>Arxiu</b>, <b>Importar i Exportar...</b> per desar-los en un arxiu separat per comes (CSV).<p>O també, en Palm Desktop 4.0 o superior, visiteu la vostra llibreta d'adreces i seleccioneu <b>Exportar</b> al menú <b>Arxiu</b>. L'arxiu exportat estarà en format VCard.
|
|
||||||
international addressbook es-ca Internacional
|
|
||||||
isdn phone addressbook es-ca Telèfon XDSI
|
|
||||||
label addressbook es-ca Etiqueta
|
|
||||||
ldap context for contacts admin es-ca Context LDAP per contactes
|
|
||||||
ldap host for contacts admin es-ca Servidor LDAP per contactes
|
|
||||||
ldap root dn for contacts admin es-ca Arrel LDAP dn per contactes
|
|
||||||
ldap root pw for contacts admin es-ca Arrel LDAP pw per contactes
|
|
||||||
ldif addressbook es-ca LDIF
|
|
||||||
line 2 addressbook es-ca Línia 2
|
|
||||||
list all categories addressbook es-ca Llista totes les categories
|
|
||||||
list all customfields addressbook es-ca Llista tots els camps personalitzats
|
|
||||||
load vcard addressbook es-ca Carrega VCard
|
|
||||||
mark records as private addressbook es-ca Marcar registres com a privats
|
|
||||||
message phone addressbook es-ca Telèfon de missatges
|
|
||||||
middle name addressbook es-ca Segon nom
|
|
||||||
mobile addressbook es-ca Mòbil
|
|
||||||
mobile phone addressbook es-ca Telèfon mòbil
|
|
||||||
modem phone addressbook es-ca Telèfon de módem
|
|
||||||
multiple vcard addressbook es-ca VCard Múltiple
|
|
||||||
no vcard addressbook es-ca Sense VCard
|
|
||||||
number of records to read (%1) addressbook es-ca Número de registres a llegir (%1)
|
|
||||||
other number addressbook es-ca Un altre número
|
|
||||||
other phone addressbook es-ca Un altre telèfon
|
|
||||||
pager common es-ca Buscapersones
|
|
||||||
parcel addressbook es-ca Paquet
|
|
||||||
phone number common es-ca Número de telèfon
|
|
||||||
phone numbers common es-ca Números de telèfon
|
|
||||||
please enter a name for that field ! addressbook es-ca Si us plau, entreu un nom per aquest camp !
|
|
||||||
postal common es-ca Postal
|
|
||||||
pref addressbook es-ca pref
|
|
||||||
prefix addressbook es-ca Prefix
|
|
||||||
public key addressbook es-ca Clau pública
|
|
||||||
read a list / search for entries. addressbook es-ca Llegiu una llista / cercau entrades
|
|
||||||
read a list of entries. addressbook es-ca Llegir una llista d'entrades
|
|
||||||
read a single entry by passing the id and fieldlist. addressbook es-ca Llegir una sola entrada passant l'identificador i la llista de camps
|
|
||||||
record access addressbook es-ca Accés al registre
|
|
||||||
record owner addressbook es-ca Propietari del registre
|
|
||||||
retrieve contacts admin es-ca Recuperar contactes
|
|
||||||
select all addressbook es-ca Seleccionar tot
|
|
||||||
select the type of conversion addressbook es-ca Seleccioneu el tipus de conversió
|
|
||||||
select the type of conversion: addressbook es-ca Seleccioneu el tipus de conversió:
|
|
||||||
select where you want to store admin es-ca Seleccioneu on voleu desar
|
|
||||||
show addressbook es-ca Mostra
|
|
||||||
show birthday reminders on main screen addressbook es-ca Mostrar recordatoris d'aniversaris a la pantalla principal
|
|
||||||
startrecord addressbook es-ca Registre inicial
|
|
||||||
state common es-ca Província
|
|
||||||
street common es-ca Carrer
|
|
||||||
successfully imported %1 records into your addressbook. addressbook es-ca Importats correctament %1 registres a la llibreta d'adreces.
|
|
||||||
suffix addressbook es-ca Sufix
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook es-ca Prova d'Importació - (mostrar els registres que es poden importar <b>només</b> al navegador)
|
|
||||||
that field name has been used already ! addressbook es-ca Aquest nom de camp ja s'ha usat !
|
|
||||||
this person's first name was not in the address book. addressbook es-ca El nom de pila d'aquesta persona no hi era a la llibreta d'adreces.
|
|
||||||
this person's last name was not in the address book. addressbook es-ca El cognom d'aquesta persona no hi era a la llibreta d'adreces.
|
|
||||||
to many might exceed your execution-time-limit addressbook es-ca quant pot excedir el temps límit d'execució
|
|
||||||
today is %1's birthday! common es-ca Avui és l'aniversari de %1!
|
|
||||||
tomorrow is %1's birthday. common es-ca Demà és l'aniversari de %1.
|
|
||||||
translation addressbook es-ca Traducció
|
|
||||||
update a single entry by passing the fields. addressbook es-ca Actualitzar una sola entrada passant els camps
|
|
||||||
use country list addressbook es-ca Utilitzar llista de països
|
|
||||||
vcard common es-ca Targeta de visita (VCard)
|
|
||||||
vcards require a first name entry. addressbook es-ca VCard necessita el nom.
|
|
||||||
vcards require a last name entry. addressbook es-ca VCard necessita el cognom.
|
|
||||||
video phone addressbook es-ca Telèfon de videoconferència
|
|
||||||
voice phone addressbook es-ca Telèfon de veu
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin es-ca ATENCIÓ!! LDAP és vàlid només si NO feu servir contactes per enmagatzemar comptes!
|
|
||||||
work phone addressbook es-ca Telèfon del treball
|
|
||||||
write (update or add) a single entry by passing the fields. addressbook es-ca Escriu (actualitza o afegeix) una entrada simple donant els camps.
|
|
||||||
you must select a vcard. (*.vcf) addressbook es-ca Heu de seleccionar una targeta vcard (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook es-ca Heu de seleccionar al menys una columna per mostrar
|
|
||||||
zip code common es-ca Codi postal
|
|
||||||
zip_note addressbook es-ca <p><b>Nota:</b> L'arxiu pot ser un arxiu comprimit zip que tingui arxius .csv, .vcf o .ldif. Tanmateix, no barregeu els tipus en cada importació.
|
|
@ -94,7 +94,7 @@ import from addressbook es-es Importar desde
|
|||||||
import from ldif, csv, or vcard addressbook es-es Importar desde LDIF, CSV o VCard
|
import from ldif, csv, or vcard addressbook es-es Importar desde LDIF, CSV o VCard
|
||||||
import from netscape addressbook es-es Importar desde Netscape
|
import from netscape addressbook es-es Importar desde Netscape
|
||||||
import from outlook addressbook es-es Importar desde Outlook
|
import from outlook addressbook es-es Importar desde Outlook
|
||||||
import multiple vcard addressbook es-es Importar múltiples VCards
|
import multiple vcard addressbook es-es Importar tarjetas de visita múltiples
|
||||||
import next set addressbook es-es Importar siguiente registro
|
import next set addressbook es-es Importar siguiente registro
|
||||||
import_instructions addressbook es-es Si usa Mozilla o Netscape, abra la libreta de direcciones y seleccione <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato LDIF.<p>O, en Outlook, seleccione su carpeta de contactos, luego, en el menú<b>Fichero</b>, <b>Importar y Exportar</b> para guardarlos en un fichero separado por comas (CSV).<p>O, en Palm Desktop 4.0 o superior, visite la libreta de direcciones y selecciones <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato VCard.
|
import_instructions addressbook es-es Si usa Mozilla o Netscape, abra la libreta de direcciones y seleccione <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato LDIF.<p>O, en Outlook, seleccione su carpeta de contactos, luego, en el menú<b>Fichero</b>, <b>Importar y Exportar</b> para guardarlos en un fichero separado por comas (CSV).<p>O, en Palm Desktop 4.0 o superior, visite la libreta de direcciones y selecciones <b>Exportar</b> desde el menú <b>Archivo</b>. El fichero exportado estará en formato VCard.
|
||||||
international addressbook es-es Internacional
|
international addressbook es-es Internacional
|
||||||
@ -109,14 +109,14 @@ ldif addressbook es-es LDIF
|
|||||||
line 2 addressbook es-es Línea 2
|
line 2 addressbook es-es Línea 2
|
||||||
list all categories addressbook es-es Lista de todas las categorías
|
list all categories addressbook es-es Lista de todas las categorías
|
||||||
list all customfields addressbook es-es Lista de todos los campos personalizados
|
list all customfields addressbook es-es Lista de todos los campos personalizados
|
||||||
load vcard addressbook es-es Cargar VCard
|
load vcard addressbook es-es Cargar tarjeta de visita
|
||||||
mark records as private addressbook es-es Marcar registros como privados
|
mark records as private addressbook es-es Marcar registros como privados
|
||||||
message phone addressbook es-es Teléfono de mensajes
|
message phone addressbook es-es Teléfono de mensajes
|
||||||
middle name addressbook es-es Segundo nombre
|
middle name addressbook es-es Segundo nombre
|
||||||
mobile addressbook es-es Tel.móvil
|
mobile addressbook es-es Tel.móvil
|
||||||
mobile phone addressbook es-es Teléfono móvil
|
mobile phone addressbook es-es Teléfono móvil
|
||||||
modem phone addressbook es-es Teléfono módem
|
modem phone addressbook es-es Teléfono módem
|
||||||
multiple vcard addressbook es-es VCard múltiple
|
multiple vcard addressbook es-es Tarjeta de visita múltiple
|
||||||
no vcard addressbook es-es Sin VCard
|
no vcard addressbook es-es Sin VCard
|
||||||
number of records to read (%1) addressbook es-es Número de registros a leer (%1)
|
number of records to read (%1) addressbook es-es Número de registros a leer (%1)
|
||||||
number of records to read (<=200) addressbook es-es Registros a leer (menos de 200)
|
number of records to read (<=200) addressbook es-es Registros a leer (menos de 200)
|
||||||
|
@ -1,166 +0,0 @@
|
|||||||
%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)
|
|
||||||
(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ä!
|
|
||||||
actions addressbook fi Toimenpiteet
|
|
||||||
add a single entry by passing the fields. addressbook fi Lisää yksittäinen tietue antamalla kentät.
|
|
||||||
add custom field addressbook fi Lisää oma kenttä
|
|
||||||
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 line 3 addressbook fi Osoite rivi 2
|
|
||||||
address type addressbook fi Osoitteen laji
|
|
||||||
addressbook common fi Osoitekirja
|
|
||||||
addressbook preferences addressbook fi Osoitekirjan asetukset
|
|
||||||
addressbook-fieldname addressbook fi Osoitekirja - kentän nimi
|
|
||||||
addvcard addressbook fi Lisää VCard
|
|
||||||
alt. csv import addressbook fi Alt. CSV Tuonti
|
|
||||||
are you sure you want to delete this field? addressbook fi Haluatko poistaa kentän?
|
|
||||||
bbs phone addressbook fi BBS-numero
|
|
||||||
birthday common fi Syntymäpäivä
|
|
||||||
birthdays common fi Syntymäpäivät
|
|
||||||
blank addressbook fi Tyhjä
|
|
||||||
business common fi Työ
|
|
||||||
business address type addressbook fi Business Address Type
|
|
||||||
business city addressbook fi Kaupunki
|
|
||||||
business country addressbook fi Maa
|
|
||||||
business email addressbook fi E-mail
|
|
||||||
business email type addressbook fi E-mail -tyyppi
|
|
||||||
business fax addressbook fi Fax
|
|
||||||
business phone addressbook fi Puhelin
|
|
||||||
business state addressbook fi Osavaltio
|
|
||||||
business street addressbook fi Katuosoite
|
|
||||||
business zip code addressbook fi Postinumero
|
|
||||||
car phone addressbook fi Autopuhelin
|
|
||||||
cell phone addressbook fi Matkapuhelin
|
|
||||||
charset of file addressbook fi Tiedoston merkistö
|
|
||||||
city common fi Kaupunki
|
|
||||||
company common fi Yritys
|
|
||||||
company name common fi Yrityksen nimi
|
|
||||||
configuration common fi Konfiguraatio
|
|
||||||
contact common fi Yhteystiedot
|
|
||||||
contact application admin fi Yhteystietojen hallinta
|
|
||||||
contact settings admin fi Yhteystiedot - asetukset
|
|
||||||
copied by %1, from record #%2. addressbook fi Kopioinut %1 tietueesta #%2.
|
|
||||||
country common fi Maa
|
|
||||||
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 filter addressbook fi Oletusrajaus
|
|
||||||
delete a single entry by passing the id. addressbook fi Poista tietue antamalla sen tunniste
|
|
||||||
department common fi Osasto
|
|
||||||
domestic addressbook fi Kotimainen
|
|
||||||
download addressbook fi Lataa
|
|
||||||
download export file (uncheck to debug output in browser) addressbook fi Lataa vientitiedosto (Ei kun virheenselvitys selaimessa)
|
|
||||||
edit custom field addressbook fi Muokkaa oma kenttä
|
|
||||||
edit custom fields admin fi Muokka omia kenttiä
|
|
||||||
empty for all addressbook fi tyhjä kaikille
|
|
||||||
enter the path to the exported file here addressbook fi Anna viedyn tiedoston polku
|
|
||||||
export contacts addressbook fi Vie yhteystiedot
|
|
||||||
export file name addressbook fi Vie tiedostoon
|
|
||||||
export from addressbook addressbook fi Vie osoitekirjasta
|
|
||||||
extra addressbook fi Lisätiedot
|
|
||||||
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 to show in address list addressbook fi Osoitelistan kentät
|
|
||||||
fieldseparator addressbook fi Kenttäerotin
|
|
||||||
full name addressbook fi Koko nimi
|
|
||||||
geo addressbook fi GEO
|
|
||||||
global categories addressbook fi Yleiset luokat
|
|
||||||
grant addressbook access common fi Anna pääsy osoitekirjaan
|
|
||||||
home address type addressbook fi Kotiosoitteen tyyppi
|
|
||||||
home city addressbook fi Kaupunki
|
|
||||||
home country addressbook fi Maa
|
|
||||||
home email addressbook fi E-mail
|
|
||||||
home email type addressbook fi E-mail -tyyppi
|
|
||||||
home phone addressbook fi Puhelin
|
|
||||||
home state addressbook fi Osavaltio
|
|
||||||
home street addressbook fi Katuosoite
|
|
||||||
home zip code addressbook fi Postinumero
|
|
||||||
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 ldif, csv, or vcard addressbook fi Tuo LDIF-, CSV- tai VCard-muodosta
|
|
||||||
import from outlook addressbook fi Tuo Outlookista
|
|
||||||
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 -muodoss.<P>Outlookissa: valitse Yhteystiedot -kansio, valitse <b>Tiedosto</b> -valikosta
|
|
||||||
international addressbook fi Kansainvälinen
|
|
||||||
isdn phone addressbook fi ISDN-numero
|
|
||||||
label addressbook fi Label
|
|
||||||
ldap context for contacts admin fi LDAP-konteksti
|
|
||||||
ldap host for contacts admin fi LDAP-palvelin
|
|
||||||
ldap root dn for contacts admin fi LDAP root dn
|
|
||||||
ldap root pw for contacts admin fi LDAP root pw
|
|
||||||
ldif addressbook fi LDIF
|
|
||||||
line 2 addressbook fi Rivi 2
|
|
||||||
mark records as private addressbook fi Mark records as private
|
|
||||||
message phone addressbook fi Vastaajapalvelu
|
|
||||||
middle name addressbook fi Toimen nimi
|
|
||||||
mobile addressbook fi GSM
|
|
||||||
mobile phone addressbook fi Matkapuhelin
|
|
||||||
modem phone addressbook fi Modem Phone
|
|
||||||
no vcard addressbook fi Ei VCard
|
|
||||||
number of records to read (%1) addressbook fi Luettavien tietueiden määrä (%1)
|
|
||||||
other number addressbook fi Muu numero
|
|
||||||
other phone addressbook fi Muu puhelin
|
|
||||||
pager common fi Hakulaite
|
|
||||||
parcel addressbook fi Paketti
|
|
||||||
phone number common fi Puhelinnumero
|
|
||||||
phone numbers common fi Puhelinnumerot
|
|
||||||
please enter a name for that field ! addressbook fi Anna kentän nimi!
|
|
||||||
postal common fi Postal
|
|
||||||
pref addressbook fi etuliite
|
|
||||||
prefix addressbook fi Etuliite
|
|
||||||
public key addressbook fi Julkinen avain
|
|
||||||
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.
|
|
||||||
record access addressbook fi Lukuoikeus
|
|
||||||
record owner addressbook fi Omistaja
|
|
||||||
retrieve contacts admin fi nouda kontaktit
|
|
||||||
select all addressbook fi Valitse kaikki
|
|
||||||
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 admin fi Minne haluat tallentaa
|
|
||||||
show birthday reminders on main screen addressbook fi Näytä syntymäpäivämuistutukset päänäytöllä
|
|
||||||
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
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook fi Testaa tuontia (näytä tuotavat tieuteet <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.
|
|
||||||
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.
|
|
||||||
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.
|
|
||||||
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!
|
|
||||||
today is %1\'s birthday! common fi Tänään syntymäpäiväänsä viettää %1!
|
|
||||||
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.
|
|
||||||
tomorrow is %1\'s birthday. common fi Huomenna 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
|
|
||||||
update a single entry by passing the fields. addressbook fi Päivitä yksittäistä tietuetta antamalla kentät.
|
|
||||||
use country list addressbook fi Käytä maaluetteloa
|
|
||||||
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.
|
|
||||||
video phone addressbook fi Videopuhelin
|
|
||||||
voice phone addressbook fi Puhelin
|
|
||||||
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!
|
|
||||||
work phone addressbook fi Työpuhelin
|
|
||||||
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
|
|
||||||
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,158 +0,0 @@
|
|||||||
%1 records imported addressbook it %1 record importati
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook it %1 record letti (non ancora importati, è possibiletornare %2indietro%3 e deselezionare Test Importazione)
|
|
||||||
(e.g. 1969) addressbook it (e.s. 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook it <b>Il tipo di conversione <nessuno> non è stato trovato.</b> Per favore scegliere un tipo di conversione dalla lista
|
|
||||||
@-eval() is only availible to admins!!! addressbook it @-eval() è disponibile solo agli amministratori!!!
|
|
||||||
actions addressbook it Azioni
|
|
||||||
add a single entry by passing the fields. addressbook it Aggiungi un solo elemento passando i campi.
|
|
||||||
add custom field addressbook it Aggiungi campo personalizzato
|
|
||||||
address book common it Rubrica
|
|
||||||
address book - vcard in addressbook it Rubrica - VCard in
|
|
||||||
address book - view addressbook it Rubrica - visualizza
|
|
||||||
address line 2 addressbook it Indirizzo linea 2
|
|
||||||
address line 3 addressbook it Indirizzo linea 3
|
|
||||||
address type addressbook it Tipo di indirizzo
|
|
||||||
addressbook common it Rubrica
|
|
||||||
addressbook preferences addressbook it Preferenze della Rubrica
|
|
||||||
addressbook-fieldname addressbook it Rubrica - Nome del Campo
|
|
||||||
addvcard addressbook it Aggiungi Vcard
|
|
||||||
alt. csv import addressbook it Importazione CSV Alternativa
|
|
||||||
are you sure you want to delete this field? addressbook it Sei sicuro di voler eliminare questo campo?
|
|
||||||
bbs phone addressbook it Telefono BBS
|
|
||||||
birthday common it Data di nascita
|
|
||||||
birthdays common it Compleanni
|
|
||||||
blank addressbook it In bianco
|
|
||||||
business common it Ufficio
|
|
||||||
business address type addressbook it Tipo di indirizzo dell'ufficio
|
|
||||||
business city addressbook it Città Ufficio
|
|
||||||
business country addressbook it Nazione Ufficio
|
|
||||||
business email addressbook it Email Ufficio
|
|
||||||
business email type addressbook it Tipo email ufficio
|
|
||||||
business fax addressbook it Fax ufficio
|
|
||||||
business phone addressbook it Telefono ufficio
|
|
||||||
business state addressbook it Provincia ufficio
|
|
||||||
business street addressbook it Via ufficio
|
|
||||||
business zip code addressbook it CAP ufficio
|
|
||||||
car phone addressbook it Telefono veicolare
|
|
||||||
cell phone addressbook it Telefono cellulare
|
|
||||||
charset of file addressbook it Set di Caratteri del file
|
|
||||||
city common it Città
|
|
||||||
company common it Società
|
|
||||||
company name common it Nome società
|
|
||||||
configuration common it Configurazione
|
|
||||||
contact common it Contatto
|
|
||||||
contact application admin it Applicativo Contatti
|
|
||||||
contact settings admin it Impostazioni Contatto
|
|
||||||
copied by %1, from record #%2. addressbook it Copiato %1, dal record #%2.
|
|
||||||
country common it Nazione
|
|
||||||
csv-fieldname addressbook it CSV Nome del Campo
|
|
||||||
csv-filename addressbook it CSV Nome del File
|
|
||||||
custom addressbook it Personalizzato
|
|
||||||
custom fields addressbook it Campi Personalizzati
|
|
||||||
debug output in browser addressbook it
|
|
||||||
default filter addressbook it Filtro predefinito
|
|
||||||
delete a single entry by passing the id. addressbook it
|
|
||||||
department common it Divisione
|
|
||||||
domestic addressbook it Interno
|
|
||||||
download addressbook it Download
|
|
||||||
download export file (uncheck to debug output in browser) addressbook it Download del file export (Deseleziona per visualizzarlo nel browser)
|
|
||||||
edit custom field addressbook it Modifica campo personalizzato
|
|
||||||
edit custom fields admin it Modifica campi personalizzati
|
|
||||||
empty for all addressbook it per tutti vuoto
|
|
||||||
enter the path to the exported file here addressbook it Inserisci qui il path del file esportato
|
|
||||||
export contacts addressbook it Esporta Contatti
|
|
||||||
export file name addressbook it Esporta nome file
|
|
||||||
export from addressbook addressbook it Esporta dalla Rubrica
|
|
||||||
extra addressbook it Extra
|
|
||||||
fax addressbook it Fax
|
|
||||||
fax number common it Numero Fax
|
|
||||||
field %1 has been added ! addressbook it Il campo %1 è stato aggiunto!
|
|
||||||
field %1 has been updated ! addressbook it Il campo %1 è stato aggiornato!
|
|
||||||
field name addressbook it Nome Campo
|
|
||||||
fields to show in address list addressbook it Campi da visualizzare nella lista degli indirizzi
|
|
||||||
fieldseparator addressbook it Separatore dei campi
|
|
||||||
full name addressbook it Nome completo
|
|
||||||
geo addressbook it GEO
|
|
||||||
global categories addressbook it Categorie Globali
|
|
||||||
grant addressbook access common it Permetti accesso alla Rubrica
|
|
||||||
home address type addressbook it Tipo indirizzo Abitazione
|
|
||||||
home city addressbook it Città Abitazione
|
|
||||||
home country addressbook it Nazione Abitazione
|
|
||||||
home email addressbook it Email Abitazione
|
|
||||||
home email type addressbook it Tipo di email Abitazione
|
|
||||||
home phone addressbook it Telefono Abitazione
|
|
||||||
home state addressbook it Provincia Abitazione
|
|
||||||
home street addressbook it Via Abitazione
|
|
||||||
home zip code addressbook it CAP Abitazione
|
|
||||||
import addressbook it Importa
|
|
||||||
import contacts addressbook it Importa Contatti
|
|
||||||
import csv-file into addressbook addressbook it Importa file CSV nella Rubrica
|
|
||||||
import file addressbook it Importa File
|
|
||||||
import from ldif, csv, or vcard addressbook it Importa da LDIF, CSV, or VCard
|
|
||||||
import from outlook addressbook it Importa da Outlook
|
|
||||||
import next set addressbook it Import il prossimo set
|
|
||||||
import_instructions addressbook it In Netscape, apri la rubrica e seleziona <b>Esporta</b> dal menu <b>File</b>. Il file verrà esportato in formato LDIF.<p>O, in Outlook, seleziona la cartella Contatti , seleziona <b>Importa ed esporta...</b> dal menu <b>File</b> ed esporta i contatti nel formato testo separato da virgola (CSV). <p>O, in Palm Desktop 4.0 o superiore, apri l'agenda e seleziona <b>Esporta</b> dal menu <b>File</b>. Il file verrà esportato in formato VCard.
|
|
||||||
international addressbook it Internazionale
|
|
||||||
isdn phone addressbook it Telefono ISDN
|
|
||||||
label addressbook it Etichetta
|
|
||||||
ldap context for contacts admin it Contesto LDAP per i contatti
|
|
||||||
ldap host for contacts admin it Server LDAP per i contatti
|
|
||||||
ldap root dn for contacts admin it root dn LDAP per i contatti
|
|
||||||
ldap root pw for contacts admin it password di root LDAP per i contatti
|
|
||||||
ldif addressbook it LDIF
|
|
||||||
line 2 addressbook it Linea 2
|
|
||||||
mark records as private addressbook it Marca i record come privati
|
|
||||||
message phone addressbook it Telefono per Messaggi
|
|
||||||
middle name addressbook it Secondo Nome
|
|
||||||
mobile addressbook it Mobile
|
|
||||||
mobile phone addressbook it Telefono Mobile
|
|
||||||
modem phone addressbook it Telefono Modem
|
|
||||||
no vcard addressbook it Nessuna VCard
|
|
||||||
number of records to read (<=200) addressbook it Numero di record da leggere (<200)
|
|
||||||
other number addressbook it Altro Numero
|
|
||||||
other phone addressbook it Altro Telefono
|
|
||||||
pager common it Teledrin
|
|
||||||
parcel addressbook it Parcel
|
|
||||||
phone number common it Numero di Telefono
|
|
||||||
phone numbers common it Numeri di telefono
|
|
||||||
please enter a name for that field ! addressbook it Per favore inserire un nome per qesto campo
|
|
||||||
postal common it Postal
|
|
||||||
pref addressbook it pref
|
|
||||||
prefix addressbook it Prefisso
|
|
||||||
public key addressbook it Chiave Pubblica
|
|
||||||
read a list of entries. addressbook it Leggi una lista di inserimenti
|
|
||||||
read a single entry by passing the id and fieldlist. addressbook it
|
|
||||||
record access addressbook it Accesso alla scheda
|
|
||||||
record owner addressbook it Proprietario della scheda
|
|
||||||
retrieve contacts admin it recupera i contatti
|
|
||||||
select all addressbook it Seleziona tutto
|
|
||||||
select the type of conversion addressbook it Seleziona il tipo di conversione
|
|
||||||
select the type of conversion: addressbook it Seleziona il tipo di conversione:
|
|
||||||
select where you want to store admin it Seleziona dove vuoi memorizzare
|
|
||||||
show birthday reminders on main screen addressbook it Visualizza i promemoria dei compleanni nella schermata principale
|
|
||||||
startrecord addressbook it Record Iniziale
|
|
||||||
state common it Provincia
|
|
||||||
street common it Via
|
|
||||||
successfully imported %1 records into your addressbook. addressbook it Nella tua rubrica sono state importate con successo %1 schede.
|
|
||||||
suffix addressbook it Suffisso
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook it Test importazione (mostra <u>solo</u> record importabili nel browser)
|
|
||||||
that field name has been used already ! addressbook it Il nome di campo è già stato utilizzato
|
|
||||||
this person's first name was not in the address book. addressbook it Il nome di questa persona non era nella rubrica.
|
|
||||||
this person's last name was not in the address book. addressbook it Il cognome di questa persona non è nella rubrica
|
|
||||||
to many might exceed your execution-time-limit addressbook it troppi potrebbero superare il limite del tempo di esecuzione
|
|
||||||
today is %1's birthday! common it Oggi è il compleanno di %1!
|
|
||||||
tomorrow is %1's birthday. common it Domani è il compleanno di %1.
|
|
||||||
translation addressbook it Traduzione
|
|
||||||
update a single entry by passing the fields. addressbook it
|
|
||||||
use country list addressbook it Usa la lista delle nazioni
|
|
||||||
vcard common it VCard
|
|
||||||
vcards require a first name entry. addressbook it Le VCard richiedono un valore per il nome.
|
|
||||||
vcards require a last name entry. addressbook it Le Vcards richiedono un valore per il cognome
|
|
||||||
video phone addressbook it Videotelefono
|
|
||||||
voice phone addressbook it Telefono Vocale
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin it ATTENZIONE!! LDAP è utilizzabile solo se NON stai usando i contatti per la memorizzazione dei dati sugli account!
|
|
||||||
work phone addressbook it Telefono Ufficio
|
|
||||||
you must select a vcard. (*.vcf) addressbook it Bisogna selezionare una vcard (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook it Bisogna selezionare almeno una colonna da visualizzare
|
|
||||||
zip code common it CAP
|
|
||||||
zip_note addressbook it <p><b>Note:</b> Il file deve essere uno zip contentente file .csv, .vcf, o .ldif. Tuttavia, non mischiare i tipi di file da importare
|
|
@ -1,99 +0,0 @@
|
|||||||
address book common ja アドレス帳
|
|
||||||
address book - vcard in addressbook ja アドレス帳 - VCard追加
|
|
||||||
addressbook common ja アドレス帳
|
|
||||||
addressbook preferences addressbook ja アドレス帳ユーザ設定
|
|
||||||
addresses common ja アドレス帳
|
|
||||||
addvcard addressbook ja VCard追加
|
|
||||||
add a field addressbook ja 項目追加
|
|
||||||
address book - view addressbook ja アドレス帳 - 表示
|
|
||||||
address line 2 addressbook ja 町域2
|
|
||||||
address line 3 addressbook ja 町域3
|
|
||||||
address type addressbook ja アドレスタイプ
|
|
||||||
alt. csv import addressbook ja CSVインポート
|
|
||||||
are you sure you want to delete this field? addressbook ja この項目を削除してもよろしいですか。
|
|
||||||
bbs phone addressbook ja BBS電話
|
|
||||||
birthday common ja 誕生日
|
|
||||||
blank addressbook ja 空白
|
|
||||||
business address type addressbook ja アドレスタイプ
|
|
||||||
business common ja ビジネス
|
|
||||||
business city addressbook ja 市区町村
|
|
||||||
business country addressbook ja 国
|
|
||||||
business email addressbook ja 電子メール
|
|
||||||
business email type addressbook ja 電子メールタイプ
|
|
||||||
business fax addressbook ja FAX
|
|
||||||
business phone addressbook ja 電話
|
|
||||||
business state addressbook ja 都道府県
|
|
||||||
business street addressbook ja 町域
|
|
||||||
business zip code addressbook ja 郵便番号
|
|
||||||
car phone addressbook ja 自動車電話
|
|
||||||
cell phone addressbook ja cell 電話
|
|
||||||
city common ja 市区町村
|
|
||||||
company common ja 会社
|
|
||||||
company name common ja 会社名
|
|
||||||
contact common ja 連絡先
|
|
||||||
country common ja 国
|
|
||||||
csv-filename addressbook ja CSVファイル名
|
|
||||||
custom fields addressbook ja カスタム項目
|
|
||||||
custom field addressbook ja カスタム項目
|
|
||||||
default filter addressbook ja 既定のフィルタ
|
|
||||||
department common ja 部署
|
|
||||||
edit field addressbook ja カスタム項目訂正
|
|
||||||
export contacts addressbook ja エクスポート
|
|
||||||
export file name addressbook ja エクスポートファイル名
|
|
||||||
export from addressbook addressbook ja エクスポート(アドレス帳)
|
|
||||||
fax common ja Fax
|
|
||||||
field list addressbook ja 項目一覧
|
|
||||||
field name addressbook ja 項目名
|
|
||||||
field %1 has been added ! addressbook ja 項目 %1 を追加しました。
|
|
||||||
field %1 has been updated ! addressbook ja 項目 %1 を訂正しました。
|
|
||||||
fields to show in address list addressbook ja アドレスリストに表示する項目
|
|
||||||
fieldseparator addressbook ja 項目の区切り
|
|
||||||
geo addressbook ja Geo
|
|
||||||
grant addressbook access common ja 利用許可設定
|
|
||||||
home address type addressbook ja 住所
|
|
||||||
home city addressbook ja 市区町村
|
|
||||||
home country addressbook ja 国
|
|
||||||
home email addressbook ja 電子メール
|
|
||||||
home email type addressbook ja 電子メールタイプ
|
|
||||||
home phone addressbook ja 自宅TEL
|
|
||||||
home state addressbook ja 都道府県
|
|
||||||
home street addressbook ja 町域
|
|
||||||
home zip code addressbook ja 郵便番号
|
|
||||||
import contacts addressbook ja インポート
|
|
||||||
import csv-file into addressbook addressbook ja CSVファイルからのインポート
|
|
||||||
import file addressbook ja インポート
|
|
||||||
import from ldif, csv, or vcard addressbook ja インポート(LDIF, CSV, VCard)
|
|
||||||
import from outlook addressbook ja インポート(Outlook)
|
|
||||||
isdn phone addressbook ja ISDN
|
|
||||||
label addressbook ja ラベル
|
|
||||||
line 2 addressbook ja 町域(2行目)
|
|
||||||
message phone addressbook ja メッセージ
|
|
||||||
middle name addressbook ja ミドルネーム
|
|
||||||
mobile addressbook ja 携帯電話
|
|
||||||
other number addressbook ja その他番号
|
|
||||||
pager common ja ページャー
|
|
||||||
parcel addressbook ja 区画
|
|
||||||
phone numbers common ja 電話番号
|
|
||||||
Please enter a name for that field! addressbook ja 項目名を入力して下さい。
|
|
||||||
please set your preferences for this app addressbook ja ユーザ設定を行って下さい。
|
|
||||||
postal common ja 郵便
|
|
||||||
prefix addressbook ja プレフィックス
|
|
||||||
public key addressbook ja パブリックキー
|
|
||||||
record access addressbook ja アクセス権
|
|
||||||
record owner addressbook ja 所有者
|
|
||||||
show birthday reminders on main screen addressbook ja メイン画面に誕生日情報を表示
|
|
||||||
state common ja 都道府県
|
|
||||||
street common ja 町域
|
|
||||||
suffix addressbook ja 敬称
|
|
||||||
that field name has been used already ! addressbook ja 項目名は既に存在しています。
|
|
||||||
this person's first name was not in the address book. addressbook ja アドレス帳に名前がありません。
|
|
||||||
today is %1's birthday! common ja 今日は %1 さんの誕生日です。
|
|
||||||
tommorow is %1's birthday. common ja 明日は %1 さんの誕生日です。
|
|
||||||
url addressbook ja URL
|
|
||||||
vcard common ja VCard
|
|
||||||
vcards require a first name entry. addressbook ja VCard には、名前が必要です。
|
|
||||||
video phone addressbook ja ビデオ電話
|
|
||||||
voice phone addressbook ja 電話
|
|
||||||
work phone addressbook ja 勤務先TEL
|
|
||||||
you must select at least 1 column to display addressbook ja 表示する項目を選択してください。
|
|
||||||
zip code common ja 郵便番号
|
|
@ -1,165 +0,0 @@
|
|||||||
%1 records imported addressbook nl %1 adressen geïmporteerd
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook nl %1 adressen gelezen (nog niet geïmporteerd, U kunt %2terug%3 gaan en "Test Import" uitzetten)
|
|
||||||
(e.g. 1969) addressbook nl (bijv. 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook nl <b>Geen conversietype <none&g; gevonden </b> Selecteer a.u.b. een conversietype uit de lijst.
|
|
||||||
@-eval() is only availible to admins!!! addressbook nl @-eval() is alleen beschikbaar voor beheerders
|
|
||||||
actions addressbook nl Acties
|
|
||||||
add a single entry by passing the fields. addressbook nl Een enkele invoeren door de velden te geven
|
|
||||||
add custom field addressbook nl Aangepast veld toevoegen
|
|
||||||
address book common nl Adresboek
|
|
||||||
address book - vcard in addressbook nl Adresboek - VCard in
|
|
||||||
address book - view addressbook nl Adresboek - weergave
|
|
||||||
address line 2 addressbook nl Adres Lijn 1
|
|
||||||
address line 3 addressbook nl Adres Lijn 2
|
|
||||||
address type addressbook nl Type adres
|
|
||||||
addressbook common nl Adresboek
|
|
||||||
addressbook preferences addressbook nl Adresboek voorkeuren
|
|
||||||
addressbook-fieldname addressbook nl Adresboek veldnaam
|
|
||||||
addvcard addressbook nl VCard toevoegen
|
|
||||||
alt. csv import addressbook nl Alternatief CSV-bestand importeren
|
|
||||||
are you sure you want to delete this field? addressbook nl Weet u zeker dat u dit veld wilt verwijderen?
|
|
||||||
bbs phone addressbook nl BBS Telefoon
|
|
||||||
birthday common nl Verjaardag
|
|
||||||
birthdays common nl Verjaardagen?
|
|
||||||
blank addressbook nl Blanco
|
|
||||||
business common nl Bedrijf
|
|
||||||
business address type addressbook nl Bedrijf Adrestype
|
|
||||||
business city addressbook nl Bedrijf Plaats
|
|
||||||
business country addressbook nl Bedrijf Land
|
|
||||||
business email addressbook nl Bedrijf Email
|
|
||||||
business email type addressbook nl Bedrijf Type Email
|
|
||||||
business fax addressbook nl Bedrijf Fax
|
|
||||||
business phone addressbook nl Bedrijf Telefoon
|
|
||||||
business state addressbook nl Bedrijf Provincie / Staat / District
|
|
||||||
business street addressbook nl Bedrijf Straat
|
|
||||||
business zip code addressbook nl Bedrijf Postcode
|
|
||||||
car phone addressbook nl Autotelefoon
|
|
||||||
cell phone addressbook nl Mobiele telefoon
|
|
||||||
charset of file addressbook nl Karakterset van bestand
|
|
||||||
city common nl Stad
|
|
||||||
company common nl Bedrijf
|
|
||||||
company name common nl Bedrijfsnaam
|
|
||||||
configuration common nl Instellingen
|
|
||||||
contact common nl Contact
|
|
||||||
contact application admin nl Contact applicatie
|
|
||||||
contact settings admin nl Contactinstellingen
|
|
||||||
copied by %1, from record #%2. addressbook nl Gekopiëerd door %1, van record #%2.
|
|
||||||
country common nl Land
|
|
||||||
csv-fieldname addressbook nl CSV-Veldnaam
|
|
||||||
csv-filename addressbook nl CSV-Bestandsnaam
|
|
||||||
custom addressbook nl Aangepast
|
|
||||||
custom fields addressbook nl Aangepast velden
|
|
||||||
debug output in browser addressbook nl Debug resultaat in browser
|
|
||||||
default filter addressbook nl Standaard filter
|
|
||||||
delete a single entry by passing the id. addressbook nl Verwijder een enkel record door het ID. te geven
|
|
||||||
department common nl Afdeling
|
|
||||||
domestic addressbook nl Huisadres
|
|
||||||
download addressbook nl Download
|
|
||||||
download export file (uncheck to debug output in browser) addressbook nl Download export bestand (uitzetten om in verkenner te tonen)
|
|
||||||
e-mail addressbook nl E-mail
|
|
||||||
edit custom field addressbook nl Aangepast veld wijzigen
|
|
||||||
edit custom fields admin nl Aangepaste velden wijzigen
|
|
||||||
empty for all addressbook nl leeg voor alle
|
|
||||||
enter the path to the exported file here addressbook nl Geef folder voor het te exporteren bestand hier aan
|
|
||||||
export contacts addressbook nl Exporteer contacten
|
|
||||||
export file name addressbook nl Naam export
|
|
||||||
export from addressbook addressbook nl Exporteer vanuit adresboek
|
|
||||||
extra addressbook nl Extra
|
|
||||||
fax addressbook nl Fax
|
|
||||||
fax number common nl Faxnummer
|
|
||||||
field %1 has been added ! addressbook nl Veld 1% is toegevoegd !
|
|
||||||
field %1 has been updated ! addressbook nl Veld 1% bijgewerkt !
|
|
||||||
field name addressbook nl Veldnaam
|
|
||||||
fields to show in address list addressbook nl Velden die zichtbaar zijn in adreslijst
|
|
||||||
fieldseparator addressbook nl Scheidingssymbool velden
|
|
||||||
first name addressbook nl Voornaam
|
|
||||||
full name addressbook nl Volledige naam
|
|
||||||
geo addressbook nl GEO
|
|
||||||
global categories addressbook nl Globale categoriën
|
|
||||||
grant addressbook access common nl Geen toegang adresboek
|
|
||||||
home address type addressbook nl Privé adrestype
|
|
||||||
home city addressbook nl Privé Plaats
|
|
||||||
home country addressbook nl Privé Land
|
|
||||||
home email addressbook nl Privé Email
|
|
||||||
home email type addressbook nl Privé Type Email
|
|
||||||
home phone addressbook nl Privé telefoon
|
|
||||||
home state addressbook nl Privé Provincie / Staat / District
|
|
||||||
home street addressbook nl Privé Straat
|
|
||||||
home zip code addressbook nl Privé Postcode
|
|
||||||
import addressbook nl Importeren
|
|
||||||
import contacts addressbook nl Contacten Importeren
|
|
||||||
import csv-file into addressbook addressbook nl CSV-bestand importeren naar adresboek
|
|
||||||
import file addressbook nl Bestand importeren
|
|
||||||
import from ldif, csv, or vcard addressbook nl Importeren vanuit LDIF, CSV or VCard
|
|
||||||
import from outlook addressbook nl Importeren vuit Outlook
|
|
||||||
import next set addressbook nl Importeren volgende serie
|
|
||||||
import_instructions addressbook nl In Netscape, open het adressenboek en selecteer <b>Exporteren</b> in het menu <b>Bestand</b>. Het bestand wordt geëxporteerd in het LDIF formaat.<p>Of, in Outlook, selecteer de contacten-folder, kies <b>Importeren en Exporteren...</b> in het menu <b>Bestand</b> en exportoor als komma gescheiden tekst bestand (CSV).<p>Of, in Palm Desktop 4.0 of nieuwer, kies het adresboek en selecteer <b>Exporteren</b> in het menu <b>Bestand</b>, het bestand wordt geëxporteerd in het VCard formaat.
|
|
||||||
international addressbook nl Internationaal
|
|
||||||
isdn phone addressbook nl ISDN
|
|
||||||
label addressbook nl Label
|
|
||||||
last name addressbook nl Achternaam
|
|
||||||
ldap context for contacts admin nl LDAP-context voor contacten
|
|
||||||
ldap host for contacts admin nl LDAP-host voor contacten
|
|
||||||
ldap root dn for contacts admin nl LDAP-root dn voor contacten
|
|
||||||
ldap root pw for contacts admin nl LDAP-root pw voor contacten
|
|
||||||
ldif addressbook nl LDIF
|
|
||||||
line 2 addressbook nl Regel 2
|
|
||||||
mark records as private addressbook nl Markeer records als privé
|
|
||||||
message phone addressbook nl Bericht Telefoon
|
|
||||||
middle name addressbook nl Tweede naam
|
|
||||||
mobile addressbook nl Mobiel
|
|
||||||
mobile phone addressbook nl Mobiel telefoon
|
|
||||||
modem phone addressbook nl Modem telefoon
|
|
||||||
no vcard addressbook nl Geen VCard
|
|
||||||
notes addressbook nl Opmerkingen
|
|
||||||
number of records to read (%1) addressbook nl Aantal adressen om te importen (%1)
|
|
||||||
other number addressbook nl Ander nummer
|
|
||||||
other phone addressbook nl Andere telefoon
|
|
||||||
pager common nl Buzzer
|
|
||||||
parcel addressbook nl Pakket
|
|
||||||
phone number common nl Telefoonnummer
|
|
||||||
phone numbers common nl Telefoonnummers
|
|
||||||
please enter a name for that field ! addressbook nl Vul voor dat veld au.b. een naam in !
|
|
||||||
postal common nl Postadres
|
|
||||||
pref addressbook nl voorkeur
|
|
||||||
prefix addressbook nl Voorvoegsel
|
|
||||||
public key addressbook nl Public Key
|
|
||||||
read a list of entries. addressbook nl Lees een lijst met records
|
|
||||||
read a single entry by passing the id and fieldlist. addressbook nl Lees een record door een ID. in te voeren en een veldenlijst
|
|
||||||
record access addressbook nl Toegang adres
|
|
||||||
record owner addressbook nl Eigenaar adres
|
|
||||||
retrieve contacts admin nl Contacten ontvangen
|
|
||||||
rl addressbook nl URL
|
|
||||||
select all addressbook nl Alles selecteren
|
|
||||||
select the type of conversion addressbook nl Kies type conversie
|
|
||||||
select the type of conversion: addressbook nl Kies type conversie:
|
|
||||||
select where you want to store admin nl Selecteer waar u wilt opslaan
|
|
||||||
show addressbook nl Toon
|
|
||||||
show birthday reminders on main screen addressbook nl Verjaardagsherinneringen weergeven op hoofdscherm
|
|
||||||
startrecord addressbook nl Startrecord
|
|
||||||
state common nl Provincie / Staat / District
|
|
||||||
street common nl Straatnaam
|
|
||||||
successfully imported %1 records into your addressbook. addressbook nl Met succes %1 reocrd geïmporteerd naar uw adresboek
|
|
||||||
suffix addressbook nl Achtervoegsel
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook nl Test Import (te importeren adressen ALLEEN WEERGEVEN in uw browser)
|
|
||||||
that field name has been used already ! addressbook nl Het veldnaam is al in gebruik !
|
|
||||||
this person's first name was not in the address book. addressbook nl De voornaam van deze persoon staat niet het adresboek.
|
|
||||||
this person's last name was not in the address book. addressbook nl De achternaam van deze persoon staat niet het adresboek.
|
|
||||||
title addressbook nl Titel
|
|
||||||
to many might exceed your execution-time-limit addressbook nl Te veel kan mogelijk uw uitvoertijd van dit programme overschrijden
|
|
||||||
today is %1's birthday! common nl Vandaag is %1 jarig !
|
|
||||||
tomorrow is %1's birthday. common nl Morgen is %1 jarig
|
|
||||||
translation addressbook nl Vertaling / Script
|
|
||||||
update a single entry by passing the fields. addressbook nl Een record bijwerken door de velden te geven
|
|
||||||
use country list addressbook nl Gebruik Landenlijst
|
|
||||||
vcard common nl VCard
|
|
||||||
vcards require a first name entry. addressbook nl VCard vereist dat de voornaam ingevoerd is.
|
|
||||||
vcards require a last name entry. addressbook nl VCard vereist dat de achternaam ingevoerd is.
|
|
||||||
video phone addressbook nl Beeld telefoon
|
|
||||||
voice phone addressbook nl Telefoon
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin nl WAARSCHUWING!! Alleen LDAP gebruiken als het adresboek niet wordt gebruikt om de accounts op te slaan!
|
|
||||||
work phone addressbook nl Telefoon werk
|
|
||||||
you must select a vcard. (*.vcf) addressbook nl U moet een VCard selecteren (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook nl U moet een op z'n minst 1 kolom selecteren om weer te geven
|
|
||||||
zip code common nl Postcode
|
|
||||||
zip_note addressbook nl <p><b>Opmerking:</b> Het bestand mag een zip file zijn bestaande uit .csv, .vcf, of .ldif bestanden. Echter, geen meerdere types per import.
|
|
@ -1,187 +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 Addresse Liste
|
|
||||||
address book - vcard in addressbook no Adresseliste - VCard inn
|
|
||||||
address book - view addressbook no Adresseliste - vis
|
|
||||||
address line 2 addressbook no Adresse Linje 2
|
|
||||||
address line 3 addressbook no Adresse Linke 3
|
|
||||||
address type addressbook no Adresse type
|
|
||||||
addressbook common no Addresseliste
|
|
||||||
addressbook preferences addressbook no Adresseliste preferanser
|
|
||||||
addressbook-fieldname addressbook no Adresseliste-Feltnavn
|
|
||||||
addvcard addressbook no Legg til VCard
|
|
||||||
alt. csv import addressbook no Alt. CSV Import
|
|
||||||
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
|
|
||||||
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 settings admin no Kontakt Innstillinger
|
|
||||||
copied by %1, from record #%2. addressbook no Kopiert av %1, fra rekke #%2.
|
|
||||||
country common no Land
|
|
||||||
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
|
|
||||||
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)
|
|
||||||
e-mail addressbook no E-Post
|
|
||||||
edit custom field addressbook no Endre egendefinert felt
|
|
||||||
edit custom fields admin no Endre egendefinerte felter
|
|
||||||
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
|
|
||||||
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
|
|
||||||
first name addressbook no Fornavn
|
|
||||||
full name addressbook no Fullt Navn
|
|
||||||
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
|
|
||||||
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 ldif, csv, or vcard addressbook no Importer fra LDIF, CSV eller VCard
|
|
||||||
import from outlook addressbook no Importer fra Outlook
|
|
||||||
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.
|
|
||||||
international addressbook no Internasjonal
|
|
||||||
isdn phone addressbook no ISDN Telefon
|
|
||||||
label addressbook no Etikett
|
|
||||||
last name addressbook no Etternavn
|
|
||||||
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
|
|
||||||
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
|
|
||||||
no vcard addressbook no Ingen VCard
|
|
||||||
notes addressbook no Annet
|
|
||||||
number of records to read (%1) addressbook no Antall rekker som leses (%1)
|
|
||||||
other number addressbook no Annet Nummer
|
|
||||||
other phone addressbook no Annen Telefon
|
|
||||||
pager common no Personsøker
|
|
||||||
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 !
|
|
||||||
prefix addressbook no Forstavelse
|
|
||||||
public key addressbook no Offentlig Nøkkel
|
|
||||||
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 birthday reminders on main screen addressbook no Vis fødselsdags-påminnelse på hovedskjerm
|
|
||||||
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
|
|
||||||
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 ble ikke funnet i adresselisten.
|
|
||||||
this person\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
this person\\\'s first name was not in the address book. addressbook no Personens fornavn ble ikke funnet i adresselisten.
|
|
||||||
this person\\\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
this person\\\\\\\'s first name was not in the address book. addressbook no Personens fornavn ble ikke funnet i adresselisten.
|
|
||||||
this person\\\\\\\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
this person\\\\\\\\\\\\\\\'s first name was not in the address book. addressbook no Personens fornavn ble ikke funnet i adresselisten.
|
|
||||||
this person\\\\\\\\\\\\\\\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s first name was not in the address book. addressbook no Personens fornavn ble ikke funnet i adresselisten.
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s first name was not in the address book. addressbook no Personens fornavn ble ikke funnet i adresselisten.
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s first name was not in the address book. addressbook no Personens fornavn ble ikke funnet i adresselisten.
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s first name was not in the address book. addressbook no Personens fornavn ble ikke funnet i adresselisten.
|
|
||||||
this person\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s last name was not in the address book. addressbook no Personens etternavn ble ikke funnet i adresselisten
|
|
||||||
today is %1's birthday! common no I dag har %1 fødselsdag!
|
|
||||||
today is %1\'s birthday! common no I dag har %1 fødselsdag!
|
|
||||||
today is %1\\\'s birthday! common no I dag har %1 fødselsdag!
|
|
||||||
today is %1\\\\\\\'s birthday! common no I dag har %1 fødselsdag!
|
|
||||||
today is %1\\\\\\\\\\\\\\\'s birthday! common no I dag har %1 fødselsdag!
|
|
||||||
today is %1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s birthday! common no I dag har %1 fødselsdag!
|
|
||||||
today is %1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s birthday! common no I dag har %1 fødselsdag!
|
|
||||||
today is %1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s birthday! common no I dag har %1 fødselsdag!
|
|
||||||
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.
|
|
||||||
tomorrow is %1\'s birthday. common no I morgen er det %1's fødselsdag.
|
|
||||||
tomorrow is %1\\\'s birthday. common no I morgen er det %1's fødselsdag.
|
|
||||||
tomorrow is %1\\\\\\\'s birthday. common no I morgen er det %1's fødselsdag.
|
|
||||||
tomorrow is %1\\\\\\\\\\\\\\\'s birthday. common no I morgen er det %1's fødselsdag.
|
|
||||||
tomorrow is %1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s birthday. common no I morgen er det %1's fødselsdag.
|
|
||||||
tomorrow is %1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s birthday. common no I morgen er det %1's fødselsdag.
|
|
||||||
tomorrow is %1\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'s birthday. common no I morgen er det %1's 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 Land Liste
|
|
||||||
vcard common no VCard
|
|
||||||
vcards require a first name entry. addressbook no VCard krever fornavn.
|
|
||||||
vcards require a last name entry. addressbook no VCard kever 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!
|
|
||||||
work phone addressbook no Arbeids telefon
|
|
||||||
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.
|
|
@ -1,171 +0,0 @@
|
|||||||
%1 records imported addressbook pl Zaimportowano %1 rekordów
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook pl Wczytano %1 rekordów (ale jeszcze nie zaimportowano, mo¿esz %2wróciæ%3 i skasowaæ zaznaczenie próbnego importu)
|
|
||||||
(e.g. 1969) addressbook pl (np. 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook pl <b>Nie wybrano trybu konwersji typu <¿aden>.</b> Proszê wybraæ typ trybu konwersji z listy
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook pl <b>typ konwersji <none> nie zosta znaleziony.</b> Prosz wybra typ konwersji z listy
|
|
||||||
@-eval() is only availible to admins!!! addressbook pl @-eval() jest dostêpne wy³±cznie dla administratorów !!!
|
|
||||||
actions addressbook pl Polecenia
|
|
||||||
add a single entry by passing the fields. addressbook pl Dodaj pojedyczy wpis za pomoc± przekazania pól
|
|
||||||
add custom field addressbook pl Dodaj pole u¿ytkownika
|
|
||||||
address book common pl Kontakty, adresy
|
|
||||||
address book - vcard in addressbook pl Wczytanie kartek elektronicznych do ksi±¿ki adresowej
|
|
||||||
address book - view addressbook pl Przegl±d ksi±¿ki adresowej
|
|
||||||
address line 2 addressbook pl Wiersz adresu nr 2
|
|
||||||
address line 3 addressbook pl Wiersz adresu nr 3
|
|
||||||
address type addressbook pl Typ adresu
|
|
||||||
addressbook common pl Ksi±¿ka adresowa
|
|
||||||
addressbook preferences addressbook pl Ustawienia ksi±¿ki adresowej
|
|
||||||
addressbook-fieldname addressbook pl Nazwa pola adresowego
|
|
||||||
addvcard addressbook pl Dodaj kartkê elektroniczn±
|
|
||||||
alt. csv import addressbook pl Alt. CSV Import
|
|
||||||
are you sure you want to delete this field? addressbook pl Czy na pewno skasowaæ to pole?
|
|
||||||
bbs phone addressbook pl Telefon BBS
|
|
||||||
birthday common pl Urodziny
|
|
||||||
birthdays common pl Urodziny
|
|
||||||
blank addressbook pl Puste
|
|
||||||
business common pl Firma
|
|
||||||
business address type addressbook pl Typ adresu firmowego
|
|
||||||
business city addressbook pl Miasto firmy
|
|
||||||
business country addressbook pl Kraj firmy
|
|
||||||
business email addressbook pl E-mail firmy
|
|
||||||
business email type addressbook pl Typ e-maila firmy
|
|
||||||
business fax addressbook pl Faks firmy
|
|
||||||
business phone addressbook pl Telefon firmy
|
|
||||||
business state addressbook pl Województwo
|
|
||||||
business street addressbook pl Ulica firmy
|
|
||||||
business zip code addressbook pl Kod pocztowy firmy
|
|
||||||
car phone addressbook pl Telefon w samochodzie
|
|
||||||
cell phone addressbook pl Telefon komórkowy
|
|
||||||
city common pl Miasto
|
|
||||||
company common pl Firma
|
|
||||||
company name common pl Nazwa firmy
|
|
||||||
configuration common pl Konfiguracja
|
|
||||||
contact common pl Kontakt
|
|
||||||
contact application admin pl Aplikacja kontaktowa
|
|
||||||
contact settings admin pl Ustawienia kontaktu
|
|
||||||
copied by %1, from record #%2. addressbook pl Skopiowane przez %1, z rekordu # %2
|
|
||||||
country common pl Kraj
|
|
||||||
csv-fieldname addressbook pl Nazwa pola CSV
|
|
||||||
csv-filename addressbook pl Nazwa pliku CSV
|
|
||||||
custom addressbook pl U¿ytkownika
|
|
||||||
custom field addressbook pl Pole uytkownika
|
|
||||||
custom fields addressbook pl Pola u¿ytkownika
|
|
||||||
default filter addressbook pl Filtr domy¶lny
|
|
||||||
department common pl Departament
|
|
||||||
domestic addressbook pl Domowy
|
|
||||||
download addressbook pl Pobierz
|
|
||||||
download export file (uncheck to debug output in browser) addressbook pl Zapisz plik na dysku (je¿eli nie zaznaczysz, wynik bedzie pokazany wy³±cznie w oknie przegl±darki)
|
|
||||||
edit custom field addressbook pl Edytuj pole u¿ytkownika
|
|
||||||
edit custom fields admin pl Edytuj pola u¿ytkownika
|
|
||||||
empty for all addressbook pl puste dla wszystkich
|
|
||||||
enter the path to the exported file here addressbook pl Podaj ¶cie¿kê do wyexportowanego pliku tutaj
|
|
||||||
export contacts addressbook pl Eksportuj kontakty
|
|
||||||
export file name addressbook pl Nazwa pliku
|
|
||||||
export from addressbook addressbook pl Eksport z ksi±¿ki adresowej
|
|
||||||
extra addressbook pl Dodatkowe
|
|
||||||
fax addressbook pl Faks
|
|
||||||
fax number common pl Numer faksu
|
|
||||||
field %1 has been added ! addressbook pl Pole %1 zosta³o dodane !
|
|
||||||
field %1 has been updated ! addressbook pl Pole %1 zosta³o zaktualizowane !
|
|
||||||
field name addressbook pl Nazwa pola
|
|
||||||
fields to show in address list addressbook pl Pola pokazywane na li¶cie adresów
|
|
||||||
fieldseparator addressbook pl Separator pól
|
|
||||||
full name addressbook pl Pe³na nazwa
|
|
||||||
geo addressbook pl GEO
|
|
||||||
global categories addressbook pl Kategorie globalne
|
|
||||||
grant addressbook access common pl Nadaj prawa dostêpu do ksi±¿ki adresowej
|
|
||||||
home addressbook pl Dom
|
|
||||||
home address type addressbook pl Typ adresu
|
|
||||||
home city addressbook pl Miasto zamieszkania
|
|
||||||
home country addressbook pl Kraj zamieszkania
|
|
||||||
home email addressbook pl E-mail domowy
|
|
||||||
home email type addressbook pl Typ domowego e-mail
|
|
||||||
home phone addressbook pl Telefon domowy
|
|
||||||
home state addressbook pl Wojewdztwo
|
|
||||||
home street addressbook pl Ulica
|
|
||||||
home zip code addressbook pl Kod pocztowy
|
|
||||||
import addressbook pl Importuj
|
|
||||||
import contacts addressbook pl Importuj kontakty
|
|
||||||
import csv-file into addressbook addressbook pl Importuj plik CSV do ksi±¿ki adresowej
|
|
||||||
import file addressbook pl Plik importu
|
|
||||||
import from ldif, csv, or vcard addressbook pl Import z LDIF, CSV lub VCard
|
|
||||||
import from outlook addressbook pl Importuj z programu Outlook
|
|
||||||
import next set addressbook pl Importuj nastêpny set
|
|
||||||
import_instructions addressbook pl W Netscape, otwórz Ksi±¿kê Adresow± (Addressbook) i wybierz z menu <b>Plik</b> (File) pozycjê <b>Eksport</b>. Plik zostanie wyeksportowany w formacie LDIF.<p> W Outlooku, wybierz folder Kontakty, wybierz z menu <b>Plik</b> pozycjê <b>Import i eksport</b> i wyeksportuj swoje kontakty do pliku tekstowego oddzielanego kropk± (CSV).<p>W Palm Desktop 4.0 (lub wy¿szym), wejd¼ do ksi±¿ki adresowej i wybierz <b>Export</b> z menu <b>Plik</b>. Zostanie on wyeksportowany w formacie VCard.
|
|
||||||
international addressbook pl Miêdzynarodowy
|
|
||||||
isdn phone addressbook pl Telefon ISDN
|
|
||||||
label addressbook pl Etykieta
|
|
||||||
ldap context for contacts admin pl Kontekst LDAP dla kontaktów
|
|
||||||
ldap host for contacts admin pl Serwer LDAP dla kontaktów
|
|
||||||
ldap root dn for contacts admin pl LDAP root dn dla kontaktów
|
|
||||||
ldap root pw for contacts admin pl LDAP root pw dla kontaktów
|
|
||||||
ldif addressbook pl LDIF
|
|
||||||
line 2 addressbook pl Wiersz 2
|
|
||||||
list all categories addressbook pl Wywietl wszystkie kategorie
|
|
||||||
mark records as private addressbook pl Zaznacz rekordy jako prywatne
|
|
||||||
message phone addressbook pl Automatyczna sekretarka
|
|
||||||
middle name addressbook pl Drugie imiê
|
|
||||||
mobile addressbook pl Komórka
|
|
||||||
mobile phone addressbook pl Komórka
|
|
||||||
modem phone addressbook pl Numer modemu
|
|
||||||
no vcard addressbook pl Bez VCard
|
|
||||||
number of records to read (%1) addressbook pl Liczba rekordów do wczytania (%1)
|
|
||||||
other number addressbook pl Inny numer
|
|
||||||
other phone addressbook pl Inny telefon
|
|
||||||
pager common pl Pager
|
|
||||||
parcel addressbook pl Paczka
|
|
||||||
phone number common pl Numer telefonu
|
|
||||||
phone numbers common pl Numery telefonów
|
|
||||||
please enter a name for that field ! addressbook pl Proszê podaæ nazwê tego pola !
|
|
||||||
postal common pl Kod pocztowy
|
|
||||||
pref addressbook pl pref
|
|
||||||
prefix addressbook pl Prefiks (Pan/Pani)
|
|
||||||
public key addressbook pl Klucz publiczny
|
|
||||||
read a list of entries. addressbook pl Wczytaj listê wpisów
|
|
||||||
record access addressbook pl Dostêp do rekordu
|
|
||||||
record owner addressbook pl W³a¶ciciel rekordu
|
|
||||||
retrieve contacts admin pl Znajd¼ kontakty
|
|
||||||
select all addressbook pl Zaznacz wszystkie
|
|
||||||
select the type of conversion addressbook pl Wybierz typ konwersji
|
|
||||||
select the type of conversion: addressbook pl Wybierz typ konwersji
|
|
||||||
select where you want to store admin pl Wybierz gdzie zapamiêtaæ
|
|
||||||
show addressbook pl Poka
|
|
||||||
show birthday reminders on main screen addressbook pl Pokazuj przypomnienia o urodzinach na g³ównym ekranie
|
|
||||||
startrecord addressbook pl Rekord pocz±tkowy
|
|
||||||
state common pl Województwo
|
|
||||||
street common pl Ulica
|
|
||||||
successfully imported %1 records into your addressbook. addressbook pl Zaimportowano %1 rekordów do ksi±¿ki adresowej.
|
|
||||||
suffix addressbook pl Sufiks
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook pl Import testowy (poka¿ importowane rekordy <u>tylko</u> w przegl±darce)
|
|
||||||
that field name has been used already ! addressbook pl Taka nazwa pola jest ju¿ u¿ywana!
|
|
||||||
this person's first name was not in the address book. addressbook pl Ksika adresowa nie zawiera imienia tej osoby
|
|
||||||
this person's last name was not in the address book. addressbook pl Ksika adresowa nie zawiera nazwiska tej osoby
|
|
||||||
this person\'s first name was not in the address book. addressbook pl Ksika adresowa nie zawiera imienia tej osoby
|
|
||||||
this person\'s last name was not in the address book. addressbook pl Ksika adresowa nie zawiera nazwiska tej osoby
|
|
||||||
this person\\\'s first name was not in the address book. addressbook pl Ksika adresowa nie zawiera imienia tej osoby
|
|
||||||
this person\\\'s last name was not in the address book. addressbook pl Ksika adresowa nie zawiera nazwiska tej osoby
|
|
||||||
this person\\\\\\\'s first name was not in the address book. addressbook pl Ksi±¿ka adresowa nie zawiera imienia tej osoby
|
|
||||||
this person\\\\\\\'s last name was not in the address book. addressbook pl Ksi±¿ka adresowa nie zawiera nazwiska tej osoby
|
|
||||||
to many might exceed your execution-time-limit addressbook pl zbyt wiele mo¿e spowodowaæ przekroczenie czasu wykonywania
|
|
||||||
today is %1's birthday! common pl Dzi s urodziny %1
|
|
||||||
today is %1\'s birthday! common pl Dzi s urodziny %1
|
|
||||||
today is %1\\\'s birthday! common pl Dzi s urodziny %1
|
|
||||||
today is %1\\\\\\\'s birthday! common pl Dzi¶ s± urodziny %1!
|
|
||||||
tomorrow is %1's birthday. common pl Jutro s urodziny %1
|
|
||||||
tomorrow is %1\'s birthday. common pl Jutro s urodziny %1
|
|
||||||
tomorrow is %1\\\'s birthday. common pl Jutro s urodziny %1
|
|
||||||
tomorrow is %1\\\\\\\'s birthday. common pl Jutro s± urodziny %1.
|
|
||||||
translation addressbook pl T³umaczenie
|
|
||||||
url addressbook pl URL
|
|
||||||
use country list addressbook pl U¿yj listy krajów
|
|
||||||
vcard common pl Kartka elektroniczna (VCard)
|
|
||||||
vcards require a first name entry. addressbook pl Kartki elektroniczne (VCard) wymagaj± podania imienia.
|
|
||||||
vcards require a last name entry. addressbook pl Kartki elektroniczne (VCard) wymagaj± podania nazwiska
|
|
||||||
video phone addressbook pl Wideo telefon
|
|
||||||
voice phone addressbook pl Telefon g³osowy
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin pl UWAGA!! Mo¿na uzywaæ LDAP tylko kiedy NIE u¿ywa siê kontaktów do przechowywania kont!
|
|
||||||
work phone addressbook pl Telefon do pracy
|
|
||||||
you must select a vcard. (*.vcf) addressbook pl Musisz wybraæ kartke adresow± VCard (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook pl Musisz wybraæ przynajmniej jedn± kolumnê do wy¶wietlenia
|
|
||||||
zip code common pl Kod pocztowy
|
|
||||||
zip_note addressbook pl <p><b>Uwaga:</b>Plik mo¿e byæ typu zip i zawieraæ zbiór plików typu .csv, .vcf lub .ldif. Mimo to proszê nie mieszaæ plików ró¿nego typu w jednym archiwum.
|
|
@ -1,158 +0,0 @@
|
|||||||
%1 records imported addressbook pt-br %1 registros importados
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook pt-br %1 registro lido (não importado ainda. Você deve voltar e desmarcar o campo Testar Importação)
|
|
||||||
(e.g. 1969) addressbook pt-br (ex. 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook pt-br <b>O tipo de conversão <Nenhum> não foi encontrado.</b> Escolha um tipo de conversão da lista
|
|
||||||
@-eval() is only availible to admins!!! addressbook pt-br @-eval() está disponível somente para administradores !!!
|
|
||||||
actions addressbook pt-br Ações
|
|
||||||
add a single entry by passing the fields. addressbook pt-br Adicionar uma única entrada informando os campos.
|
|
||||||
add custom field addressbook pt-br Adicionar campo personalizado
|
|
||||||
address book common pt-br Contatos
|
|
||||||
address book - vcard in addressbook pt-br Contatos - VCard
|
|
||||||
address book - view addressbook pt-br Contatos - Exibir
|
|
||||||
address line 2 addressbook pt-br Endereço Linha 2
|
|
||||||
address line 3 addressbook pt-br Endereço Linha 3
|
|
||||||
address type addressbook pt-br Tipo de endereço
|
|
||||||
addressbook common pt-br Contatos
|
|
||||||
addressbook preferences addressbook pt-br Preferências do Catálogo de Endereços
|
|
||||||
addressbook-fieldname addressbook pt-br Contatos - Nome do Campo
|
|
||||||
addvcard addressbook pt-br Adicionar VCard
|
|
||||||
alt. csv import addressbook pt-br Importar CSV
|
|
||||||
are you sure you want to delete this field? addressbook pt-br Tem certeza que deseja remover este campo?
|
|
||||||
bbs phone addressbook pt-br Telefone BBS
|
|
||||||
birthday common pt-br Aniversário
|
|
||||||
birthdays common pt-br Aniversários
|
|
||||||
blank addressbook pt-br Vazio
|
|
||||||
business common pt-br Comercial
|
|
||||||
business address type addressbook pt-br Endereço
|
|
||||||
business city addressbook pt-br Cidade
|
|
||||||
business country addressbook pt-br País
|
|
||||||
business email addressbook pt-br Email
|
|
||||||
business email type addressbook pt-br Tipo de Email
|
|
||||||
business fax addressbook pt-br Fax
|
|
||||||
business phone addressbook pt-br Telefone coml.
|
|
||||||
business state addressbook pt-br Estado
|
|
||||||
business street addressbook pt-br Rua
|
|
||||||
business zip code addressbook pt-br CEP
|
|
||||||
car phone addressbook pt-br Telefone no veículo
|
|
||||||
cell phone addressbook pt-br Telefone celular
|
|
||||||
charset of file addressbook pt-br Charset do arquivo
|
|
||||||
city common pt-br Cidade
|
|
||||||
company common pt-br Empresa
|
|
||||||
company name common pt-br Nome da empresa
|
|
||||||
configuration common pt-br Configuração
|
|
||||||
contact common pt-br Contato
|
|
||||||
contact application admin pt-br Aplicação de Contatos
|
|
||||||
contact settings admin pt-br Preferências de Contatos
|
|
||||||
copied by %1, from record #%2. addressbook pt-br Copiado por %1, do registro #%2.
|
|
||||||
country common pt-br País
|
|
||||||
csv-fieldname addressbook pt-br CSV-Nome do Campo
|
|
||||||
csv-filename addressbook pt-br CSV-Nome do Arquivo
|
|
||||||
custom addressbook pt-br Personalizado
|
|
||||||
custom fields addressbook pt-br Campos pessoais
|
|
||||||
debug output in browser addressbook pt-br Depurar saída no navegador
|
|
||||||
default filter addressbook pt-br Filtro padrão
|
|
||||||
delete a single entry by passing the id. addressbook pt-br apagar um única entrada informando o ID.
|
|
||||||
department common pt-br Departamento
|
|
||||||
domestic addressbook pt-br Doméstico
|
|
||||||
download addressbook pt-br Baixar
|
|
||||||
download export file (uncheck to debug output in browser) addressbook pt-br Baixar arquivo exportado (Desmarque Depurar no navegador)
|
|
||||||
edit custom field addressbook pt-br Editar campo personalizado
|
|
||||||
edit custom fields admin pt-br Editar campos personalizados
|
|
||||||
empty for all addressbook pt-br vazio para todos
|
|
||||||
enter the path to the exported file here addressbook pt-br Entre aqui com o caminho do arquivo exportado
|
|
||||||
export contacts addressbook pt-br Exportar contatos
|
|
||||||
export file name addressbook pt-br Exportar arquivo
|
|
||||||
export from addressbook addressbook pt-br Exportar dos Catálogo de Endereços
|
|
||||||
extra addressbook pt-br Extra
|
|
||||||
fax addressbook pt-br Fax
|
|
||||||
fax number common pt-br Número do Fax
|
|
||||||
field %1 has been added ! addressbook pt-br Campo %1 foi adicionado !
|
|
||||||
field %1 has been updated ! addressbook pt-br Campo %1 foi atualizado !
|
|
||||||
field name addressbook pt-br Nome do campo
|
|
||||||
fields to show in address list addressbook pt-br Campos a serem exibidos na lista de endereços
|
|
||||||
fieldseparator addressbook pt-br Separador de campos
|
|
||||||
full name addressbook pt-br Nome Completo
|
|
||||||
geo addressbook pt-br GEO
|
|
||||||
global categories addressbook pt-br Categorias Globais
|
|
||||||
grant addressbook access common pt-br Permitir acesso aos Contatos
|
|
||||||
home address type addressbook pt-br Endereço residencial
|
|
||||||
home city addressbook pt-br Cidade
|
|
||||||
home country addressbook pt-br País
|
|
||||||
home email addressbook pt-br E-mail
|
|
||||||
home email type addressbook pt-br Tipo de E-mail
|
|
||||||
home phone addressbook pt-br Telefone res.
|
|
||||||
home state addressbook pt-br Estado
|
|
||||||
home street addressbook pt-br Rua, Av, Trav., etc.
|
|
||||||
home zip code addressbook pt-br CEP
|
|
||||||
import addressbook pt-br Importar
|
|
||||||
import contacts addressbook pt-br Importar contatos
|
|
||||||
import csv-file into addressbook addressbook pt-br Importar arquivo CSV para Catálogo de Endereços
|
|
||||||
import file addressbook pt-br Importar arquivo
|
|
||||||
import from ldif, csv, or vcard addressbook pt-br Importar de LDIF, CSV ou VCard
|
|
||||||
import from outlook addressbook pt-br Importar do Outlook
|
|
||||||
import next set addressbook pt-br Importar próximo conjunto
|
|
||||||
import_instructions addressbook pt-br No Netscape, abra o Catálogo de Endereços e selecione <b>Exportar</b> do menu <b>Arquivo</b>. O arquivo exportado será do format LDIF.<p> Ou, no Outlook, selecione a sua pastas de contatos, selecione <b>Importar e Exportar...</b> do menu <b>Arquivo</b> e exporte seus contatos para um arquivo separado por vírgulas (CSV). Ou no Palmdesktop 4.0 ou superior, vá para seu catálogo de endereços e selecione <b>Exportar</b> do menu <b>Arquivo</b>. O arquivo exportado será do tipo VCard.
|
|
||||||
international addressbook pt-br Internacional
|
|
||||||
isdn phone addressbook pt-br Teleone ISDN
|
|
||||||
label addressbook pt-br Comentário
|
|
||||||
ldap context for contacts admin pt-br contexto LDAP para contatos
|
|
||||||
ldap host for contacts admin pt-br servidor LDAP para contatos
|
|
||||||
ldap root dn for contacts admin pt-br super usuário LDAP para contatos
|
|
||||||
ldap root pw for contacts admin pt-br senha do super usuário LDAP para contatos
|
|
||||||
ldif addressbook pt-br LDIF
|
|
||||||
line 2 addressbook pt-br Linha 2
|
|
||||||
mark records as private addressbook pt-br Marcar registos como particulares
|
|
||||||
message phone addressbook pt-br Telefone para recado
|
|
||||||
middle name addressbook pt-br Nome do meio
|
|
||||||
mobile addressbook pt-br Celular
|
|
||||||
mobile phone addressbook pt-br Telefone celular
|
|
||||||
modem phone addressbook pt-br Telefone de Dados (Modem)
|
|
||||||
no vcard addressbook pt-br Nenhum VCard
|
|
||||||
number of records to read (%1) addressbook pt-br Número de registros a ler (%1)
|
|
||||||
other number addressbook pt-br Outro número
|
|
||||||
other phone addressbook pt-br Outro telefone
|
|
||||||
pager common pt-br Pager
|
|
||||||
parcel addressbook pt-br Parcial
|
|
||||||
phone number common pt-br Número de telefone
|
|
||||||
phone numbers common pt-br Números de telefone
|
|
||||||
please enter a name for that field ! addressbook pt-br Por favor digite o nome para esse campo!
|
|
||||||
postal common pt-br Cx Postal
|
|
||||||
pref addressbook pt-br pref
|
|
||||||
prefix addressbook pt-br Prefixo
|
|
||||||
public key addressbook pt-br Chave pública
|
|
||||||
read a list of entries. addressbook pt-br Ler lista de entradas
|
|
||||||
read a single entry by passing the id and fieldlist. addressbook pt-br Ler uma única entrada informando o ID e o nome do campo.
|
|
||||||
record access addressbook pt-br Acesso ao registro
|
|
||||||
record owner addressbook pt-br Dono do registro
|
|
||||||
retrieve contacts admin pt-br receber contatos
|
|
||||||
select all addressbook pt-br Selecionar todos
|
|
||||||
select the type of conversion addressbook pt-br Selecione o tipo de conversão
|
|
||||||
select the type of conversion: addressbook pt-br Selecione o tipo de conversão:
|
|
||||||
select where you want to store admin pt-br Selecione onde você deseja guardar
|
|
||||||
show birthday reminders on main screen addressbook pt-br Exibir lembrete de aniversários na tela principal
|
|
||||||
startrecord addressbook pt-br Registro inicial
|
|
||||||
state common pt-br Estado
|
|
||||||
street common pt-br Rua
|
|
||||||
successfully imported %1 records into your addressbook. addressbook pt-br %1 Registros importados para o seu catálogo de endereços.
|
|
||||||
suffix addressbook pt-br Sufixo
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook pt-br Testar Importação (mostrar no navegador <u>somente</u> os registros que serão importados)
|
|
||||||
that field name has been used already ! addressbook pt-br Este nome de campo já está em uso !
|
|
||||||
this person's first name was not in the address book. addressbook pt-br O primeiro nome desta pessoa não estava no Catálogo de Endereços.
|
|
||||||
this person's last name was not in the address book. addressbook pt-br O último nome dessa pessoa não está no Catálogo de Endereços.
|
|
||||||
to many might exceed your execution-time-limit addressbook pt-br muitos poderá exceder seu tempo limite de execução
|
|
||||||
today is %1's birthday! common pt-br Hoje é o aniversário de %1.
|
|
||||||
tomorrow is %1's birthday. common pt-br Amanhã é o aniversário de %1.
|
|
||||||
translation addressbook pt-br Tradução
|
|
||||||
update a single entry by passing the fields. addressbook pt-br Atualizar uma única entrada informando os campos
|
|
||||||
use country list addressbook pt-br Usar lista de países
|
|
||||||
vcard common pt-br VCard
|
|
||||||
vcards require a first name entry. addressbook pt-br VCards requer um primeiro nome.
|
|
||||||
vcards require a last name entry. addressbook pt-br VCards requerem que o último nome esteja preenchido
|
|
||||||
video phone addressbook pt-br Videofone
|
|
||||||
voice phone addressbook pt-br Telefone voz
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin pt-br AVISO!! LDAP é válido somente se você não estiver usando contatos para guardar as contas!
|
|
||||||
work phone addressbook pt-br Telefone de trabalho
|
|
||||||
you must select a vcard. (*.vcf) addressbook pt-br Você deve selecionar um vcard. (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook pt-br Você deve selecionar pelo menos uma coluna para ser exibida.
|
|
||||||
zip code common pt-br CEP
|
|
||||||
zip_note addressbook pt-br <p><b> Nota:</b> O arquivo pode conter um conjunto de arquivos .csv, .vcf, or .ldif. Entretanto não misture tipos de arquivo durante a exportação.
|
|
@ -1,107 +0,0 @@
|
|||||||
add custom field addressbook pt Adicionar campo personalizado
|
|
||||||
address book common pt Contatos
|
|
||||||
addressbook common pt Contatos
|
|
||||||
addressbook preferences addressbook pt Preferências do Catálogo de Endereços
|
|
||||||
address book - view addressbook pt Contatos - Exibir
|
|
||||||
address line 2 addressbook pt Endereço Linha 2
|
|
||||||
address line 3 addressbook pt Endereço Linha 3
|
|
||||||
address type addressbook pt Tipo de endereço
|
|
||||||
addvcard addressbook pt Adicionar VCard
|
|
||||||
alt. csv import addressbook pt Importar CSV
|
|
||||||
are you sure you want to delete this field? addressbook pt Tem certeza que deseja remover este campo ?
|
|
||||||
bbs phone addressbook pt Telefone BBS
|
|
||||||
birthday common pt Aniversário
|
|
||||||
blank addressbook pt Vazio
|
|
||||||
<b>No conversion type <none> could be located.</b> Please choose a conversion type from the list addressbook pt <b>O tipo de conversão <Nenhum> não foi encontrado.</b> Escolha um tipo de conversão da lista
|
|
||||||
business address type addressbook pt Endereço
|
|
||||||
business city addressbook pt Cidade
|
|
||||||
business common pt Comercial
|
|
||||||
business country addressbook pt País
|
|
||||||
business email addressbook pt Email
|
|
||||||
business email type addressbook pt Tipo de Email
|
|
||||||
business fax addressbook pt Fax
|
|
||||||
business phone addressbook pt Telefone
|
|
||||||
business state addressbook pt Estado
|
|
||||||
business street addressbook pt Rua
|
|
||||||
business zip code addressbook pt CEP
|
|
||||||
car phone addressbook pt Telefone veicular
|
|
||||||
cell phone addressbook pt Telefone celular
|
|
||||||
city common pt Cidade
|
|
||||||
company common pt Empresa
|
|
||||||
company name common pt Nome da empresa
|
|
||||||
contact application admin pt Aplicação de Contatos
|
|
||||||
contact common pt Contato
|
|
||||||
contact settings admin pt Preferências de Contatos
|
|
||||||
country common pt País
|
|
||||||
custom addressbook pt Personalizado
|
|
||||||
custom fields addressbook pt Campos pessoais
|
|
||||||
default filter addressbook pt Filtro padrão
|
|
||||||
department common pt Departamento
|
|
||||||
domestic addressbook pt Doméstico
|
|
||||||
edit custom field addressbook pt Editar campo personalizado
|
|
||||||
edit custom fields admin pt Editar campos personalizados
|
|
||||||
export contacts addressbook pt Exportar contatos
|
|
||||||
export file name addressbook pt Exportar arquivo
|
|
||||||
extra addressbook pt Extra
|
|
||||||
fax addressbook pt Fax
|
|
||||||
fax number common pt Fax
|
|
||||||
field name addressbook pt Nome do campo
|
|
||||||
fields to show in address list addressbook pt Campos a serem exibidos na lista de endereços
|
|
||||||
field %1 has been added ! addressbook pt Campo %1 foi adicionado !
|
|
||||||
full name addressbook pt Nome Completo
|
|
||||||
geo addressbook pt GEO
|
|
||||||
grant addressbook access common pt Permitir acesso aos Contatos
|
|
||||||
home address type addressbook pt Endereço residencial
|
|
||||||
home city addressbook pt Cidade
|
|
||||||
home country addressbook pt País
|
|
||||||
home email addressbook pt Email
|
|
||||||
home email type addressbook pt Email
|
|
||||||
home phone addressbook pt Telefone
|
|
||||||
home state addressbook pt Estado
|
|
||||||
home street addressbook pt Rua
|
|
||||||
home zip code addressbook pt CEP
|
|
||||||
import contacts addressbook pt Importar contatos
|
|
||||||
import file addressbook pt Importar arquivo
|
|
||||||
import from outlook addressbook pt Importar do Outlook
|
|
||||||
international addressbook pt Internacional
|
|
||||||
isdn phone addressbook pt Teleone ISDN
|
|
||||||
label addressbook pt Comentário
|
|
||||||
ldap context for contacts admin pt contexto LDAP para contatos
|
|
||||||
ldap host for contacts admin pt servidor LDAP para contatos
|
|
||||||
ldap root dn for contacts admin pt super usuário LDAP para contatos
|
|
||||||
ldap root pw for contacts admin pt senha do super usuário LDAP para contatos
|
|
||||||
line 2 addressbook pt Linha 2
|
|
||||||
message phone addressbook pt Telefone de mensagens
|
|
||||||
middle name addressbook pt Nome do meio
|
|
||||||
mobile addressbook pt Celular
|
|
||||||
mobile phone addressbook pt Telefone móvel
|
|
||||||
modem phone addressbook pt Telefone de Dados (Modem)
|
|
||||||
no vcard addressbook pt Nenhum VCard
|
|
||||||
other number addressbook pt Outro número
|
|
||||||
other phone addressbook pt Outro telefone
|
|
||||||
pager common pt Pager
|
|
||||||
parcel addressbook pt Parcel
|
|
||||||
phone number common pt Número de telefone
|
|
||||||
phone numbers common pt Números de telefone
|
|
||||||
postal common pt Postal
|
|
||||||
prefix addressbook pt Prefixo
|
|
||||||
public key addressbook pt Chave pública
|
|
||||||
record access addressbook pt Acesso ao registro
|
|
||||||
record owner addressbook pt Dono do registro
|
|
||||||
retrieve contacts admin pt receber contatos
|
|
||||||
select where you want to store admin pt Selecione onde você deseja guardar
|
|
||||||
show birthday reminders on main screen addressbook pt Exibir lembrete de aniversários na tela principal
|
|
||||||
state common pt Estado
|
|
||||||
street common pt Rua
|
|
||||||
successfully imported %1 records into your addressbook. addressbook pt %1 Registros importados para o seu catálogo de endereços.
|
|
||||||
suffix addressbook pt Sufixo
|
|
||||||
this person's first name was not in the address book. addressbook pt O primeiro nome desta pessoa não estava no Catálogo de Endereços
|
|
||||||
today is %1's birthday! common pt Hoje é o aniversário de %1.
|
|
||||||
tomorrow is %1's birthday. common pt Amanhã é o aniversário de %1.
|
|
||||||
vcard common pt VCard
|
|
||||||
vcards require a first name entry. addressbook pt VCards requer um primeiro nome.
|
|
||||||
video phone addressbook pt Videofone
|
|
||||||
voice phone addressbook pt Telefone voz
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin pt AVISO!! LDAP é válido somente se você não estiver usando contatos para guardar as contas!
|
|
||||||
work phone addressbook pt Telefone de trabalho
|
|
||||||
zip code common pt CEP
|
|
@ -1,143 +1,133 @@
|
|||||||
%1 records imported addressbook sl %1 zapisov uvoženih
|
%1 records imported addressbook sl %1 zapisov prenesenih
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sl 1% zapisov prebranih (niso še uvoženi, lahko greste %2nazaj%3 in odznačite preizkus uvoza)
|
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sl 1% zapisov prebranih (niso še uvoženi, lahko greš %2nazaj%3 in odznačiš preizkus uvoza)
|
||||||
(e.g. 1969) addressbook sl (npr. 1969)
|
(e.g. 1969) addressbook sl (npr. 1969)
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook sl <b>Ni tipa prevoda <noben> lahko je zaklenjen.</b> Izberite tip prevoda s seznama.
|
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook sl <b>Ni tipa prevoda <noben> lahko je zaklenjen.</b> Prosim izberite tip prevoda iz seznama
|
||||||
@-eval() is only availible to admins!!! addressbook sl Funkcija @-eval() je na voljo samo za oskrbniku!
|
@-eval() is only availible to admins!!! addressbook sl @-eval() je veljaven samo za administratorje!
|
||||||
actions addressbook sl Dejanja
|
actions addressbook sl Ukrepi
|
||||||
add a single entry by passing the fields. addressbook sl Dodaj zapis z vnosom polj.
|
add a single entry by passing the fields. addressbook sl Dodaj en zapis z vnosom polj.
|
||||||
add custom field addressbook sl Dodaj polje
|
add custom field addressbook sl Dodaj polje
|
||||||
address book common sl Adresar
|
address book common sl Telefonski imenik
|
||||||
address book - vcard in addressbook sl Adresar - VCard
|
address book - vcard in addressbook sl Telefonski imenik - VCard in
|
||||||
address book - view addressbook sl Adresar - pogled
|
address book - view addressbook sl Telefonski imenik -ogled
|
||||||
address line 2 addressbook sl Naslov - 2. vrstica
|
address line 2 addressbook sl Naslov - 2. vrstica
|
||||||
address line 3 addressbook sl Naslov - 3. vrstica
|
address line 3 addressbook sl Naslov - 3. vrstica
|
||||||
address type addressbook sl Tip naslova
|
address type addressbook sl Tip naslova
|
||||||
addressbook common sl Adresar
|
addressbook common sl Imenik
|
||||||
addressbook preferences addressbook sl Lastnosti adresarja
|
addressbook preferences addressbook sl Lastnosti imenika
|
||||||
addressbook-fieldname addressbook sl Adresar-Ime polja
|
addressbook-fieldname addressbook sl Imenik-Ime polja
|
||||||
addvcard addressbook sl Dodaj VCard
|
addvcard addressbook sl Dodaj VCard
|
||||||
alt. csv import addressbook sl Uvoz CSV datoteke
|
alt. csv import addressbook sl Alt. CSV uvoz
|
||||||
are you sure you want to delete this field? addressbook sl Ste prepričani, da želite izbrisati to polje?
|
are you sure you want to delete this field? addressbook sl Si prepričan, da želiš izbrisati to polje?
|
||||||
bbs phone addressbook sl BBS Telefon
|
bbs phone addressbook sl BBS Telefon
|
||||||
birthday common sl Rojstni dan
|
birthday common sl Rojstni dan
|
||||||
birthdays common sl Rojstni dnevi
|
birthdays common sl Rojstni dnevi
|
||||||
blank addressbook sl Prazen
|
blank addressbook sl Prazen
|
||||||
business common sl Služba
|
business common sl Zaposlitev/Služba
|
||||||
business address type addressbook sl Tip naslova
|
business address type addressbook sl Tip naslova službe
|
||||||
business city addressbook sl Kraj
|
business city addressbook sl Kraj zaposlitve
|
||||||
business country addressbook sl Dežela
|
business country addressbook sl Država zaposlitve
|
||||||
business email addressbook sl E-pošta
|
business email addressbook sl Službeni enaslov
|
||||||
business email type addressbook sl Tip E-pošte
|
business email type addressbook sl Tip službenega enaslova-a
|
||||||
business fax addressbook sl Faks
|
business fax addressbook sl Službeni faks
|
||||||
business phone addressbook sl Telefon
|
business phone addressbook sl Službeni telefon
|
||||||
business state addressbook sl Država
|
business state addressbook sl Država zaposlitve
|
||||||
business street addressbook sl Naslov
|
business street addressbook sl Ulica zaposlitve
|
||||||
business zip code addressbook sl Poštna št.
|
business zip code addressbook sl Službena poštna številka
|
||||||
car phone addressbook sl Telefon v avtu
|
car phone addressbook sl Telefon v avtu
|
||||||
cell phone addressbook sl GSM
|
cell phone addressbook sl telefonska celica
|
||||||
charset of file addressbook sl Kodna tabela datoteke
|
charset of file addressbook sl Nabor znakov v datoteki
|
||||||
city common sl Mesto
|
city common sl Mesto
|
||||||
company common sl Podjetje
|
company common sl Podjetja
|
||||||
company name common sl Ime podjetja
|
company name common sl Ime podjetja
|
||||||
configuration common sl Nastavitve
|
configuration common sl Nastavitve
|
||||||
contact common sl Stik
|
contact common sl Kontakt
|
||||||
contact application admin sl Kontaktna aplikacija
|
contact application admin sl Kontaktna prijavnica
|
||||||
contact settings admin sl Nastavitve stikov
|
contact settings admin sl Kontaktne nastavitve
|
||||||
copied by %1, from record #%2. addressbook sl Kopirano iz zapisa %2 v zapis %1.
|
copied by %1, from record #%2. addressbook sl Kopirano iz zapisa %2 v zapis %1.
|
||||||
country common sl Država
|
country common sl Država
|
||||||
csv-fieldname addressbook sl CSV-Ime polja
|
csv-fieldname addressbook sl CSV-Ime polja
|
||||||
csv-filename addressbook sl CSV-Ime datoteke
|
csv-filename addressbook sl CSV-Ime datoteke
|
||||||
custom addressbook sl Lasten
|
custom addressbook sl Zasebni adresar!
|
||||||
custom fields addressbook sl Lastna polja
|
custom fields addressbook sl Dodana polja
|
||||||
debug output in browser addressbook sl Preglej izpis v brskalniku
|
debug output in browser addressbook sl Preglej izpis v brskalniku
|
||||||
default filter addressbook sl Privzeti filter
|
default filter addressbook sl Privzeti filter
|
||||||
delete a single entry by passing the id. addressbook sl Zbriši zapis s podano šifro
|
delete a single entry by passing the id. addressbook sl Zbriši edini vhod preko identifikacijske številke.
|
||||||
department common sl Oddelek
|
department common sl Oddelek
|
||||||
domestic addressbook sl Domači
|
domestic addressbook sl Domač
|
||||||
download addressbook sl Prenos
|
download addressbook sl Prenos
|
||||||
download export file (uncheck to debug output in browser) addressbook sl Prenos izvožene datoteke (Odznači za izpis v brskalniku)
|
edit custom field addressbook sl Uredi dodano polje
|
||||||
edit custom field addressbook sl Uredi lastno polje
|
edit custom fields admin sl Uredi dodana polja
|
||||||
edit custom fields admin sl Uredi lastna polja
|
|
||||||
empty for all addressbook sl izprazni za vse
|
empty for all addressbook sl izprazni za vse
|
||||||
enter the path to the exported file here addressbook sl Vnesite pot do izhodne datoteke
|
enter the path to the exported file here addressbook sl Vnesite pot do izhodne datoteke sem
|
||||||
export contacts addressbook sl Izvozi kontakte
|
export contacts addressbook sl Izvozi kontakte
|
||||||
export file name addressbook sl Ime izvožene datoteke
|
export file name addressbook sl Izvozi imen datoteke
|
||||||
export from addressbook addressbook sl Izvoz iz adresarja
|
export from addressbook addressbook sl Izvoz iz imenika
|
||||||
extra addressbook sl Dodatno
|
extra addressbook sl Dodatno
|
||||||
fax addressbook sl Faks
|
fax addressbook sl Faks
|
||||||
fax number common sl Faks
|
fax number common sl Številka faksa
|
||||||
field %1 has been added ! addressbook sl Polje %1 je bilo dodano!
|
field %1 has been added ! addressbook sl Polje %1 je bilo dodano!
|
||||||
field %1 has been updated ! addressbook sl Polje %1 je bilo popravljeno!
|
field %1 has been updated ! addressbook sl Polje %1 je bilo popravljeno!
|
||||||
field name addressbook sl Ime polja
|
field name addressbook sl Ime pollja
|
||||||
fields to show in address list addressbook sl Polja, ki naj se prikažejo v seznamu
|
fields to show in address list addressbook sl Polja, ki naj se prikažejo v seznamu
|
||||||
fieldseparator addressbook sl Ločilo polj
|
fieldseparator addressbook sl Ločnik polj
|
||||||
full name addressbook sl Polno ime
|
full name addressbook sl Polno ime
|
||||||
geo addressbook sl GEO
|
geo addressbook sl GEO
|
||||||
global categories addressbook sl Globalne kategorije
|
global categories addressbook sl Globalne kategorije
|
||||||
grant addressbook access common sl Dostop do glavnega imenika
|
grant addressbook access common sl Dostop do glavnega imenika
|
||||||
home address type addressbook sl Tip naslova
|
home address type addressbook sl Tip domačega imenika
|
||||||
home city addressbook sl Mesto
|
home city addressbook sl Mesto bivališča
|
||||||
home country addressbook sl Dežela
|
home country addressbook sl Država bivališča
|
||||||
home email addressbook sl E-pošta
|
home email addressbook sl Domač enaslov
|
||||||
home email type addressbook sl Tip E-pošte
|
home email type addressbook sl Tip domačega enaslova
|
||||||
home phone addressbook sl Telefon
|
home phone addressbook sl Domači telefon
|
||||||
home state addressbook sl Država
|
home state addressbook sl Država
|
||||||
home street addressbook sl Naslov
|
home street addressbook sl Ulica bivališča
|
||||||
home zip code addressbook sl Poštna št.
|
home zip code addressbook sl Poštna številka
|
||||||
import addressbook sl Uvozi
|
import addressbook sl Uvozi
|
||||||
import contacts addressbook sl Uvozi kontakte
|
import contacts addressbook sl Uvozi kontakte
|
||||||
import csv-file into addressbook addressbook sl Uvozi CSV-polja v imenik
|
import csv-file into addressbook addressbook sl Uvozi CSV-polja v imenik
|
||||||
import file addressbook sl Uvozi datoteko
|
import file addressbook sl Uvozi datoteko
|
||||||
import from addressbook sl Uvozi iz
|
|
||||||
import from ldif, csv, or vcard addressbook sl Uvoz iz LDIF, CSV ali VCard
|
import from ldif, csv, or vcard addressbook sl Uvoz iz LDIF, CSV ali VCard
|
||||||
import from outlook addressbook sl Uvoz iz Outlook-a
|
import from outlook addressbook sl Uvoz iz Outlook-a
|
||||||
import multiple vcard addressbook sl Uvoz večih VCard
|
import next set addressbook sl Uvozi naslednjo množico
|
||||||
import next set addressbook sl Uvozi naslednji niz
|
international addressbook sl Mednaroden
|
||||||
import_instructions addressbook sl V Netscapu odprite adresar in izberite <b>Export</b> v meniju <b>File</b>. Izvožena datoteka bo v obliki LDIF.<p>V Outlooku izberite mapo Stiki (Contacts), izberite <b>Uvoz/izvoz (Import/Export)</b> v meniju <b>Datoteka (File)</b>. Izvožena datoteka bo v obliki CSV.
|
isdn phone addressbook sl ISDN številka
|
||||||
international addressbook sl Mednarodni
|
label addressbook sl Etiketa
|
||||||
isdn phone addressbook sl ISDN
|
|
||||||
label addressbook sl Značilnosti
|
|
||||||
ldap context for contacts admin sl LDAP kontekst za kontakte
|
ldap context for contacts admin sl LDAP kontekst za kontakte
|
||||||
ldap host for contacts admin sl LDAP strežnik za kontakte
|
ldap host for contacts admin sl LDAP strežnik za kontakte
|
||||||
ldap root dn for contacts admin sl LDAP root dn za kontakte
|
ldap root dn for contacts admin sl LDAP root dn za kontakte
|
||||||
ldap root pw for contacts admin sl LDAP root pw za povezave
|
ldap root pw for contacts admin sl LDAP root pw za povezave
|
||||||
ldif addressbook sl LDIF
|
ldif addressbook sl LDIF
|
||||||
line 2 addressbook sl Vrstica 2
|
line 2 addressbook sl Vrstica 2
|
||||||
list all categories addressbook sl Izpis vseh kategorij
|
mark records as private addressbook sl Označi zapise kot privatne
|
||||||
list all customfields addressbook sl Izpis vseh lastnih polj
|
message phone addressbook sl Sporočilni telefon
|
||||||
load vcard addressbook sl Naloži VCard
|
|
||||||
mark records as private addressbook sl Označi zapise kot zasebne
|
|
||||||
message phone addressbook sl Telefon za sporočila
|
|
||||||
middle name addressbook sl Srednje ime
|
middle name addressbook sl Srednje ime
|
||||||
mobile addressbook sl Mobilni
|
mobile addressbook sl Mobilni
|
||||||
mobile phone addressbook sl GSM
|
mobile phone addressbook sl Mobilni telefon
|
||||||
modem phone addressbook sl Modem
|
modem phone addressbook sl Modem
|
||||||
multiple vcard addressbook sl Več VCard zapisov
|
no vcard addressbook sl Ni VCard
|
||||||
no vcard addressbook sl Ni VCard zapisov
|
|
||||||
number of records to read (%1) addressbook sl Število zapisov za branje (%1)
|
number of records to read (%1) addressbook sl Število zapisov za branje (%1)
|
||||||
number of records to read (<=200) addressbook sl Številka zapisov za branje(<=200)
|
number of records to read (<=200) addressbook sl Številka zapisov za branje(<=200)
|
||||||
other number addressbook sl Številka
|
other number addressbook sl Ostala številka
|
||||||
other phone addressbook sl Telefon
|
other phone addressbook sl Ostali telefon
|
||||||
pager common sl Pozivnik
|
pager common sl Pozivnik
|
||||||
parcel addressbook sl Dostava
|
parcel addressbook sl paket
|
||||||
phone number common sl Telefonska številka
|
phone number common sl Telefonska številka
|
||||||
phone numbers common sl Telefonske številke
|
phone numbers common sl Telefonske številke
|
||||||
please enter a name for that field ! addressbook sl Prosim vpiši ime za to polje!
|
please enter a name for that field ! addressbook sl Prosim vpiši ime za to polje!
|
||||||
postal common sl Poštni
|
postal common sl Poštni
|
||||||
pref addressbook sl privzeta
|
pref addressbook sl nast
|
||||||
prefix addressbook sl Predpona
|
prefix addressbook sl Predpona
|
||||||
public key addressbook sl Javni ključ
|
public key addressbook sl Javni ključ
|
||||||
read a list / search for entries. addressbook sl Preberi seznam / iskanje vnosov
|
|
||||||
read a list of entries. addressbook sl Preberi seznam vnosov.
|
read a list of entries. addressbook sl Preberi seznam vnosov.
|
||||||
read a single entry by passing the id and fieldlist. addressbook sl Preberi zapis s podano šifro in seznamom polj.
|
read a single entry by passing the id and fieldlist. addressbook sl Preberi edini vnos preko šifre in seznama polj.
|
||||||
record access addressbook sl Dostop do zapisa
|
record access addressbook sl Dostop do zapisa
|
||||||
record owner addressbook sl Lastnik zapisa
|
record owner addressbook sl Lastnik zapisa
|
||||||
retrieve contacts admin sl pridobi kontakte
|
retrieve contacts admin sl pridobi kontakte
|
||||||
select all addressbook sl Izberi vse
|
select all addressbook sl Izberi vse
|
||||||
select the type of conversion addressbook sl Izberite tip pretvorbe
|
select the type of conversion addressbook sl Izberite tip pretvorbe
|
||||||
select the type of conversion: addressbook sl Izberite tip pretvorbe:
|
select the type of conversion: addressbook sl Izberite tip pretvorbe:
|
||||||
select where you want to store admin sl Izberite kam želite shraniti
|
select where you want to store admin sl Izberi kje shraniti
|
||||||
show addressbook sl Prikaži
|
|
||||||
show birthday reminders on main screen addressbook sl Prikaži opomnike rojstnih dni v glavnem oknu
|
show birthday reminders on main screen addressbook sl Prikaži opomnike rojstnih dni v glavnem oknu
|
||||||
startrecord addressbook sl Začetni zapis
|
startrecord addressbook sl Začetni zapis
|
||||||
state common sl Država
|
state common sl Država
|
||||||
@ -146,23 +136,22 @@ successfully imported %1 records into your addressbook. addressbook sl Uspešno
|
|||||||
suffix addressbook sl Pripona
|
suffix addressbook sl Pripona
|
||||||
test import (show importable records <u>only</u> in browser) addressbook sl Preizkus uvoza (Pokaže uvožene zapise<u>samo</u> v brskalniku).
|
test import (show importable records <u>only</u> in browser) addressbook sl Preizkus uvoza (Pokaže uvožene zapise<u>samo</u> v brskalniku).
|
||||||
that field name has been used already ! addressbook sl To ime polja je že v uporabi!
|
that field name has been used already ! addressbook sl To ime polja je že v uporabi!
|
||||||
this person's first name was not in the address book. addressbook sl Imena te osebe ni v adresarju.
|
this person's first name was not in the address book. addressbook sl Imena te osebe ni v telefonskem imeniku.
|
||||||
this person's last name was not in the address book. addressbook sl Priimka te osebe ni v adresarju.
|
this person's last name was not in the address book. addressbook sl Priimka te osebe ni v telefonskem imeniku.
|
||||||
to many might exceed your execution-time-limit addressbook sl preveč lahko preseže čas izvajanja
|
to many might exceed your execution-time-limit addressbook sl preveč lahko preseže tvoj čas izvajanja
|
||||||
today is %1's birthday! common sl Danes ima rojstni dan %1.
|
today is %1's birthday! common sl Danes ima rojstni dan %1.
|
||||||
tomorrow is %1's birthday. common sl Jutri ima rojstni dan %1.
|
tomorrow is %1's birthday. common sl Jutri ima rojstni dan %1.
|
||||||
translation addressbook sl Prevod.
|
translation addressbook sl Prevod.
|
||||||
update a single entry by passing the fields. addressbook sl Popravi en zapis z vnosom polj.
|
update a single entry by passing the fields. addressbook sl Popravi en zapis z vnosom polj.
|
||||||
use country list addressbook sl Uporabi seznam držav
|
use country list addressbook sl Uporabi seznam držav
|
||||||
vcard common sl VCard
|
vcard common sl VCard
|
||||||
vcards require a first name entry. addressbook sl VCards zahteva vpis imena.
|
vcards require a first name entry. addressbook sl VCards zahteava vpis imena.
|
||||||
vcards require a last name entry. addressbook sl VCards zahteva vpis priimka.
|
vcards require a last name entry. addressbook sl VCards zahtava vpis priimka.
|
||||||
video phone addressbook sl Videotelefon
|
video phone addressbook sl Video telefon
|
||||||
voice phone addressbook sl Glasovni telefon
|
voice phone addressbook sl Glasovni telefon
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin sl OPOZORILO!! LDAP je veljaven samo, če ne uporabljate kontaktov za skladiščenje računov!
|
warning!! ldap is valid only if you are not using contacts for accounts storage! admin sl OPOZORILO!! LDAP je veljaven samo, če ne uporabljaš kontaktov za skladiščenje računov!
|
||||||
work phone addressbook sl Telefon
|
work phone addressbook sl Službeni telefon
|
||||||
write (update or add) a single entry by passing the fields. addressbook sl Zapiši (posodobi ali dodaj) zapis s podanimi polji.
|
you must select a vcard. (*.vcf) addressbook sl Moraš izbrati vcard. (*.vcf)
|
||||||
you must select a vcard. (*.vcf) addressbook sl Izbrati morate VCard. (*.vcf)
|
you must select at least 1 column to display addressbook sl Izbrati moraš najmanj 1 stolpec za prikaz
|
||||||
you must select at least 1 column to display addressbook sl Izbrati morate najmanj 1 stolpec za prikaz
|
|
||||||
zip code common sl Poštna številka
|
zip code common sl Poštna številka
|
||||||
zip_note addressbook sl <p><b>Opozorilo:</b> Datoteka je lahko arhiv .csv, .vcf, or .ldif datotek. Ne mešajte datotečnih tipov ob uvozu.
|
zip_note addressbook sl <p><b>Opozorilo:</b> Datoteka je lahko arhiv .csv, .vcf, or .ldif datotek. Ne mešajte datotečnih tipov ob uvozu.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
%1 records imported addressbook sv %1 poster inporterade
|
%1 records imported addressbook sv %1 poster inporterade
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sv %1 poster lästa (inte importerade ännu, du kan gå %2tillbaka%3 och kryssa ur "Testa Import")
|
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook sv %1 poster lästa (inte importerade ännu, du kan gå %2tillbaka%3 och kryssa ur "Testa Import")
|
||||||
(e.g. 1969) addressbook sv (t ex:1969)
|
(e.g. 1969) addressbook sv (t ex:1969)
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook sv <b> Ingen konverteringstyp <ingen> kunde hittas.</b> Var snäll och välj konverteringstyp från listan
|
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook sv <b> Ingen konverteringstyp <ingen> kunde hittas.</b> Var snäll och välj konverteringstyp från listan
|
||||||
@-eval() is only availible to admins!!! addressbook sv @-eval() är endast tillgängligt för administratörer
|
@-eval() is only availible to admins!!! addressbook sv @-eval() är endast tillgängligt för administratörer
|
||||||
actions addressbook sv Åtgärder
|
actions addressbook sv Åtgärder
|
||||||
add a single entry by passing the fields. addressbook sv Lägg till en enstaka post genom att passa fälten
|
add a single entry by passing the fields. addressbook sv Lägg till en enstaka post genom att passa fälten
|
||||||
@ -106,8 +106,6 @@ ldap root dn for contacts admin sv LDAP-rootkonto f
|
|||||||
ldap root pw for contacts admin sv LDAP-lösenord för export av kontakter
|
ldap root pw for contacts admin sv LDAP-lösenord för export av kontakter
|
||||||
ldif addressbook sv LDIF
|
ldif addressbook sv LDIF
|
||||||
line 2 addressbook sv Linje 2
|
line 2 addressbook sv Linje 2
|
||||||
list all categories addressbook sv Visa alla kategorier
|
|
||||||
list all customfields addressbook sv Visa alla egendefinerade fält
|
|
||||||
load vcard addressbook sv Ladda vCard
|
load vcard addressbook sv Ladda vCard
|
||||||
mark records as private addressbook sv Markera posten som privat
|
mark records as private addressbook sv Markera posten som privat
|
||||||
message phone addressbook sv Växel eller Voicemail
|
message phone addressbook sv Växel eller Voicemail
|
||||||
@ -130,7 +128,6 @@ postal common sv Post
|
|||||||
pref addressbook sv pref
|
pref addressbook sv pref
|
||||||
prefix addressbook sv Prefix
|
prefix addressbook sv Prefix
|
||||||
public key addressbook sv Publik kryptonyckel
|
public key addressbook sv Publik kryptonyckel
|
||||||
read a list / search for entries. addressbook sv Titta på lista/sök efter poster
|
|
||||||
read a list of entries. addressbook sv Läs lista över poster
|
read a list of entries. addressbook sv Läs lista över poster
|
||||||
read a single entry by passing the id and fieldlist. addressbook sv Läs en enstaka post genom att ange ID och fältlista
|
read a single entry by passing the id and fieldlist. addressbook sv Läs en enstaka post genom att ange ID och fältlista
|
||||||
record access addressbook sv Åtkomst till posten
|
record access addressbook sv Åtkomst till posten
|
||||||
@ -141,7 +138,6 @@ select all addressbook sv V
|
|||||||
select the type of conversion addressbook sv Välj konverteringstyp
|
select the type of conversion addressbook sv Välj konverteringstyp
|
||||||
select the type of conversion: addressbook sv Välj konverteringstyp
|
select the type of conversion: addressbook sv Välj konverteringstyp
|
||||||
select where you want to store admin sv Välj var du vill lagra
|
select where you want to store admin sv Välj var du vill lagra
|
||||||
show addressbook sv Visa
|
|
||||||
show birthday reminders on main screen addressbook sv Visa födelsedagsnotis på huvudskärm
|
show birthday reminders on main screen addressbook sv Visa födelsedagsnotis på huvudskärm
|
||||||
startrecord addressbook sv Startpost
|
startrecord addressbook sv Startpost
|
||||||
state common sv Stat
|
state common sv Stat
|
||||||
|
@ -1,158 +0,0 @@
|
|||||||
%1 records imported addressbook tr %1 kay?t al?nd?
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook tr %1 kay?t okundu (henüz al?nmad?, %2geri%3 gidebilir ve Test Al?m?'ndaki seçimi kald?rabilirsiniz)
|
|
||||||
(e.g. 1969) addressbook tr (örn. 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook tr <b>Tip de?i?imi yok <hiç> bulunamad?.</b> Lütfen listeden bir de?i?im tipi seçin
|
|
||||||
@-eval() is only availible to admins!!! addressbook tr @-eval() yaln?zca adminlere mevcuttur!!!
|
|
||||||
actions addressbook tr Hareketler
|
|
||||||
add a single entry by passing the fields. addressbook tr Alanlar? geçerek yaln?zca tek giri? yap?n?z.
|
|
||||||
add custom field addressbook tr Özel Alan Ekle
|
|
||||||
address book common tr Adres Defteri
|
|
||||||
address book - vcard in addressbook tr Adres defteri - VCard al?m?
|
|
||||||
address book - view addressbook tr Adres defteri - görüntüle
|
|
||||||
address line 2 addressbook tr Adres Sat?r? 2
|
|
||||||
address line 3 addressbook tr Adres Sat?r? 3
|
|
||||||
address type addressbook tr Adres Tipi
|
|
||||||
addressbook common tr Adresdefteri
|
|
||||||
addressbook preferences addressbook tr Adresdefteri seçenekleri
|
|
||||||
addressbook-fieldname addressbook tr Adresdefteri-Alan ad?
|
|
||||||
addvcard addressbook tr VCard Ekle
|
|
||||||
alt. csv import addressbook tr Alt. CSV Al?m?
|
|
||||||
are you sure you want to delete this field? addressbook tr Bu alan? silmek istedi?inize emin misiniz?
|
|
||||||
bbs phone addressbook tr BBS Telefonu
|
|
||||||
birthday common tr Do?um Günü
|
|
||||||
birthdays common tr Do?um Günleri
|
|
||||||
blank addressbook tr Bo?luk
|
|
||||||
business common tr ??
|
|
||||||
business address type addressbook tr ?? Adresi Tipi
|
|
||||||
business city addressbook tr ?? Kent
|
|
||||||
business country addressbook tr ?? Ülke
|
|
||||||
business email addressbook tr ?? e-posta
|
|
||||||
business email type addressbook tr ?? e-posta Tipi
|
|
||||||
business fax addressbook tr ?? Faks
|
|
||||||
business phone addressbook tr ?? Telefon
|
|
||||||
business state addressbook tr ?? Eyalet
|
|
||||||
business street addressbook tr ?? Sokak
|
|
||||||
business zip code addressbook tr ?? Posta Kodu
|
|
||||||
car phone addressbook tr Araç Telefonu
|
|
||||||
cell phone addressbook tr Cep Telefonu
|
|
||||||
charset of file addressbook tr Dosya karakter seti
|
|
||||||
city common tr Kent
|
|
||||||
company common tr ?irket
|
|
||||||
company name common tr ?irket Ad?
|
|
||||||
configuration common tr Ayarlar
|
|
||||||
contact common tr Ki?i
|
|
||||||
contact application admin tr Ki?i Uygulamas?
|
|
||||||
contact settings admin tr Ki?i Ayarlar?
|
|
||||||
copied by %1, from record #%2. addressbook tr #%2 . kay?ttan %1 kopyaland?
|
|
||||||
country common tr Ülke
|
|
||||||
csv-fieldname addressbook tr CSV-Alan ad?
|
|
||||||
csv-filename addressbook tr CSV-Dosya ad?
|
|
||||||
custom addressbook tr Özel
|
|
||||||
custom fields addressbook tr Özel Alanlar
|
|
||||||
debug output in browser addressbook tr Hata ay?klamay? taray?c?da göster
|
|
||||||
default filter addressbook tr Ayarl? Filtre
|
|
||||||
delete a single entry by passing the id. addressbook tr ID ileterek tek giri? sil
|
|
||||||
department common tr Depatman
|
|
||||||
domestic addressbook tr Yurt içi
|
|
||||||
download addressbook tr ?ndir
|
|
||||||
download export file (uncheck to debug output in browser) addressbook tr Verme dosyas?n? indir (Hata ay?klamay? taray?c?da göstermek için seçimi kald?r?n)
|
|
||||||
edit custom field addressbook tr Özel Alan? Düzelt
|
|
||||||
edit custom fields admin tr Özel Alan? Düzelt
|
|
||||||
empty for all addressbook tr hepsi için bo?alt
|
|
||||||
enter the path to the exported file here addressbook tr Verilen dosyan?n yolunu buraya girin
|
|
||||||
export contacts addressbook tr Ki?ileri Ver
|
|
||||||
export file name addressbook tr Dosya Ad? Ver
|
|
||||||
export from addressbook addressbook tr Adresdefteri'nden ver
|
|
||||||
extra addressbook tr Ekstra
|
|
||||||
fax addressbook tr Faks
|
|
||||||
fax number common tr Faks Numaras?
|
|
||||||
field %1 has been added ! addressbook tr Alan %1 eklendi!
|
|
||||||
field %1 has been updated ! addressbook tr Alan %1 güncellendi!
|
|
||||||
field name addressbook tr Alan Ad?
|
|
||||||
fields to show in address list addressbook tr Adres listesinde gösterilecek alanlar
|
|
||||||
fieldseparator addressbook tr Alan ay?r?c?
|
|
||||||
full name addressbook tr Tam Ad
|
|
||||||
geo addressbook tr GEO
|
|
||||||
global categories addressbook tr Global Kategoriler
|
|
||||||
grant addressbook access common tr Adresdefteri Eri?im Hakk? Ver
|
|
||||||
home address type addressbook tr Ev Adresi Tipi
|
|
||||||
home city addressbook tr Ev Kent
|
|
||||||
home country addressbook tr Ev Ülke
|
|
||||||
home email addressbook tr Ev e-posta
|
|
||||||
home email type addressbook tr Ev e-posta tipi
|
|
||||||
home phone addressbook tr Ev Telefon
|
|
||||||
home state addressbook tr Ev Eyalet
|
|
||||||
home street addressbook tr Ev Sokak
|
|
||||||
home zip code addressbook tr Ev Posta Kodu
|
|
||||||
import addressbook tr Al
|
|
||||||
import contacts addressbook tr Ki?ileri Al
|
|
||||||
import csv-file into addressbook addressbook tr CSV-Dosyas?n? Adresdefterine al
|
|
||||||
import file addressbook tr Dosya al
|
|
||||||
import from ldif, csv, or vcard addressbook tr LDIF, CSV, veya VCard'dan al
|
|
||||||
import from outlook addressbook tr Outlook'tan Al
|
|
||||||
import next set addressbook tr Bir sonraki seti al
|
|
||||||
import_instructions addressbook tr Netscape'de, Adresdefteri'ni aç?n ve <b>Dosya</b> menüsünden <b>Ver</b>'i seçin. Verilen dosya LDIF format?nda olacakt?r.<p>Veya, Outlook'ta, <b>Dosya</b> menüsünden <b>Al ve Ver...</b>'u seçin ve ki?ilerinizi Virgülle Ayr?lm?? Tekst (CSV) dosyas? olarak verin.<p>Veya, Palm Desktop 4.0 veya daha üzer,nde adresdefterinize girin ve <b>Dosya</b> menüsünden <b>Ver</b>'i seçin. Verilen dosya VCard format?nda olacakt?r.
|
|
||||||
international addressbook tr Uluslararas?
|
|
||||||
isdn phone addressbook tr ISDN Telefon
|
|
||||||
label addressbook tr Etiket
|
|
||||||
ldap context for contacts admin tr Ki?iler için LDAP içerik
|
|
||||||
ldap host for contacts admin tr Ki?iler için LDAP sunucu
|
|
||||||
ldap root dn for contacts admin tr Ki?iler için LDAP root dn
|
|
||||||
ldap root pw for contacts admin tr Ki?iler için LDAP root pw
|
|
||||||
ldif addressbook tr LDIF
|
|
||||||
line 2 addressbook tr 2. Sat?r
|
|
||||||
mark records as private addressbook tr Kay?tlar? özel olarak i?aretle
|
|
||||||
message phone addressbook tr Telefon Mesaj?
|
|
||||||
middle name addressbook tr Orta ad?
|
|
||||||
mobile addressbook tr Cep
|
|
||||||
mobile phone addressbook tr Cep Telefonu
|
|
||||||
modem phone addressbook tr Modem Telefon
|
|
||||||
no vcard addressbook tr VCard Yok
|
|
||||||
number of records to read (%1) addressbook tr Okunacak kay?t say?s? (%1)
|
|
||||||
other number addressbook tr Di?er Numara
|
|
||||||
other phone addressbook tr Di?er Telefon
|
|
||||||
pager common tr Ça?r?
|
|
||||||
parcel addressbook tr Parsel
|
|
||||||
phone number common tr Telefon Numaras?
|
|
||||||
phone numbers common tr Telefon Numaralar?
|
|
||||||
please enter a name for that field ! addressbook tr Lütfen bu alan için bir isim girin !
|
|
||||||
postal common tr Posta kodu
|
|
||||||
pref addressbook tr pref
|
|
||||||
prefix addressbook tr Prefiks
|
|
||||||
public key addressbook tr Aç?k Anahtar
|
|
||||||
read a list of entries. addressbook tr Bir giri? listesi oku.
|
|
||||||
read a single entry by passing the id and fieldlist. addressbook tr ?d ve alanlistesi'ni geçerek tek bir giri? okuyun.
|
|
||||||
record access addressbook tr Kay?t ?zni
|
|
||||||
record owner addressbook tr Kay?t Sahibi
|
|
||||||
retrieve contacts admin tr ki?ileri getir
|
|
||||||
select all addressbook tr Tümünü seç
|
|
||||||
select the type of conversion addressbook tr Çeviri tipini seç
|
|
||||||
select the type of conversion: addressbook tr Çeviri tipini seç:
|
|
||||||
select where you want to store admin tr Nereye saklamak istedi?ini seç
|
|
||||||
show birthday reminders on main screen addressbook tr Do?umgünü hat?rlatmalar?n? ana ekranda göster
|
|
||||||
startrecord addressbook tr Kay?daba?la
|
|
||||||
state common tr Eyalet
|
|
||||||
street common tr Sokak
|
|
||||||
successfully imported %1 records into your addressbook. addressbook tr Adfrtesdefterinize kay?tlar?n %1'i ba?ar?yla girildi
|
|
||||||
suffix addressbook tr suffix
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook tr Test giri? (girilebilir kay?tlar? <u>yaln?zca</u> taray?c?da göster)
|
|
||||||
that field name has been used already ! addressbook tr Bu alan ismi daha önce kullan?lm??t?r !
|
|
||||||
this person's first name was not in the address book. addressbook tr Bu ki?inin ilk ad? adres defterinde bulunmamaktad?r.
|
|
||||||
this person's last name was not in the address book. addressbook tr Bu ki?inin soyad? adres defterinde bulunmamaktad?r.
|
|
||||||
to many might exceed your execution-time-limit addressbook tr çok fazla olursa kullan?m-zaman-s?n?r?n?z? a?abilirsiniz.
|
|
||||||
today is %1's birthday! common tr Bugün %1'in do?umgünü!
|
|
||||||
tomorrow is %1's birthday. common tr Yar?n %1'in do?umgünü>
|
|
||||||
translation addressbook tr Çeviri
|
|
||||||
update a single entry by passing the fields. addressbook tr Tek bir giri?i alanlar? geçerek güncelle
|
|
||||||
use country list addressbook tr Ülke Listesini kullan
|
|
||||||
vcard common tr VCard
|
|
||||||
vcards require a first name entry. addressbook tr VCardlar ilk ad?n giri?ini gerektirmektedir.
|
|
||||||
vcards require a last name entry. addressbook tr VCardlar soyad?nismin giri?ini gerektirmektedir.
|
|
||||||
video phone addressbook tr Video Telefon
|
|
||||||
voice phone addressbook tr Ses Telefonu
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin tr UYARI!! LDAP yaln?zca ki?ileri hesap saklama için KULLANMIYORSANIZ geçerlidir.
|
|
||||||
work phone addressbook tr ?? Telefonu
|
|
||||||
you must select a vcard. (*.vcf) addressbook tr Bir VCard seçmelisiniz. (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook tr Göstermek için en az 1 kolon seçmelisiniz
|
|
||||||
zip code common tr Posta Kodu
|
|
||||||
zip_note addressbook tr <p><b>Not:</b> Dosya .csv, .vcf veya .ldif dosyalar?n?n bir zipli dosya koleksiyonu olabilir. Ancak giri? içinde dosya tiplerini kar??t?rmay?n.
|
|
@ -1,154 +0,0 @@
|
|||||||
%1 records imported addressbook uk %1 записів імпортовано
|
|
||||||
%1 records read (not yet imported, you may go %2back%3 and uncheck test import) addressbook uk %1 записів прочитано (ще не імпортовано, %2поверніться%3 та зніміть відмітку Тестувати Імпорт)
|
|
||||||
(e.g. 1969) addressbook uk (наприклад 1969)
|
|
||||||
<b>no conversion type <none> could be located.</b> please choose a conversion type from the list addressbook uk <b>Тип конверсії <немає> не існує.</b> Будь ласка виберіть тип конверсії зі списку
|
|
||||||
@-eval() is only availible to admins!!! addressbook uk @-eval() можуть використовувати тільки адміністратори
|
|
||||||
actions addressbook uk Дії
|
|
||||||
add a single entry by passing the fields. addressbook uk Додати один запис шляхом заповнення полів
|
|
||||||
add custom field addressbook uk Додати власне поле
|
|
||||||
address book common uk Адресна Книга
|
|
||||||
address book - vcard in addressbook uk Адресна Книга - VCard in
|
|
||||||
address book - view addressbook uk Адресна Книга - перегляд
|
|
||||||
address line 2 addressbook uk Рядок 2
|
|
||||||
address line 3 addressbook uk Рядок 3
|
|
||||||
address type addressbook uk Тип адреси
|
|
||||||
addressbook common uk Адресна Книга
|
|
||||||
addressbook preferences addressbook uk Параметри Адресної Книги
|
|
||||||
addressbook-fieldname addressbook uk Адресна Книга - назва поля
|
|
||||||
addvcard addressbook uk Додати VCard
|
|
||||||
alt. csv import addressbook uk Альтернативний CSV Імпорт
|
|
||||||
are you sure you want to delete this field? addressbook uk Ви дійсно хочете видалити цей запис?
|
|
||||||
bbs phone addressbook uk Телефон BBS
|
|
||||||
birthday common uk День народження
|
|
||||||
birthdays common uk Дні народження
|
|
||||||
blank addressbook uk Порожньо
|
|
||||||
business common uk Робоча адреса
|
|
||||||
business address type addressbook uk Тип робочої адреси
|
|
||||||
business city addressbook uk Місто
|
|
||||||
business country addressbook uk Країна
|
|
||||||
business email addressbook uk Робочий EMail
|
|
||||||
business email type addressbook uk Тип робочого EMail
|
|
||||||
business fax addressbook uk Факс
|
|
||||||
business phone addressbook uk Телефон
|
|
||||||
business state addressbook uk Область
|
|
||||||
business street addressbook uk Вулиця
|
|
||||||
business zip code addressbook uk Поштовий індекс
|
|
||||||
car phone addressbook uk Автомобільний телефон
|
|
||||||
cell phone addressbook uk Сотовий телефон
|
|
||||||
charset of file addressbook uk Кодування файлу
|
|
||||||
city common uk Місто
|
|
||||||
company common uk Компанія
|
|
||||||
company name common uk Назва компанії
|
|
||||||
configuration common uk Конфігурація
|
|
||||||
contact common uk Контакт
|
|
||||||
contact application admin uk Приложення Контакт
|
|
||||||
contact settings admin uk Параметри Контакту
|
|
||||||
copied by %1, from record #%2. addressbook uk Скопійовано %1, з запису #%2.
|
|
||||||
country common uk Країна
|
|
||||||
csv-fieldname addressbook uk CSV-Fieldname
|
|
||||||
csv-filename addressbook uk CSV-Filename
|
|
||||||
custom addressbook uk Власне
|
|
||||||
custom fields addressbook uk Власні поля
|
|
||||||
debug output in browser addressbook uk Debug output in browser
|
|
||||||
default filter addressbook uk Типовий фільтр
|
|
||||||
delete a single entry by passing the id. addressbook uk Видалити один запис по id.
|
|
||||||
department common uk Департамент
|
|
||||||
domestic addressbook uk Місцевий
|
|
||||||
download addressbook uk Загрузити
|
|
||||||
edit custom field addressbook uk Редагувати власне поле
|
|
||||||
edit custom fields admin uk Редагувати власні поля
|
|
||||||
empty for all addressbook uk Порожнє для всіх
|
|
||||||
enter the path to the exported file here addressbook uk Введіть шлях до файлу експорту
|
|
||||||
export contacts addressbook uk Експортувати контакти
|
|
||||||
export file name addressbook uk Назва файлу експорту
|
|
||||||
export from addressbook addressbook uk Експорт з Адресної книги
|
|
||||||
extra addressbook uk Додаткове
|
|
||||||
fax addressbook uk Факс
|
|
||||||
fax number common uk Номер факсу
|
|
||||||
field %1 has been added ! addressbook uk Поле %1 додано!
|
|
||||||
field %1 has been updated ! addressbook uk Поле %1 змінено!
|
|
||||||
field name addressbook uk Назва поля
|
|
||||||
fields to show in address list addressbook uk Видимі поля у переліку адрес
|
|
||||||
fieldseparator addressbook uk Розділитель полів
|
|
||||||
full name addressbook uk Повне ім'я
|
|
||||||
geo addressbook uk GEO
|
|
||||||
grant addressbook access common uk Надати доступи до адресної книги
|
|
||||||
home address type addressbook uk Тип домашньої адреси
|
|
||||||
home city addressbook uk Місто
|
|
||||||
home country addressbook uk Країна
|
|
||||||
home email addressbook uk Домашній EMail
|
|
||||||
home email type addressbook uk Тип домашнього EMail
|
|
||||||
home phone addressbook uk Телефон
|
|
||||||
home state addressbook uk Область
|
|
||||||
home street addressbook uk Вулиця
|
|
||||||
home zip code addressbook uk Поштовий індекс
|
|
||||||
import addressbook uk Імпорт
|
|
||||||
import contacts addressbook uk Імпортувати контакти
|
|
||||||
import csv-file into addressbook addressbook uk Імпортувати CSV-файл до Адресної книги
|
|
||||||
import file addressbook uk Імпортувати файл
|
|
||||||
import from ldif, csv, or vcard addressbook uk Імпортувати LDIF, CSV або VCard
|
|
||||||
import from outlook addressbook uk Імпорт з Outlook
|
|
||||||
import next set addressbook uk Імпортувати наступний набір
|
|
||||||
import_instructions addressbook uk В Нетскейпі(Мозілі) відкрийте Адресну книгу та виберіть <b>Експорт</b> з меню <b>Файл</b>. Файл буде експортовано в форматі LDIF. <p>В Outlook зайдіть в закладку Контакти, виберіть <b>Імпорт та Експорт...</b> в меню <b>Файл</b> та експортуйте ваші контакти в CSV-файл.<p>В Palm Desktop 4.0 або вище, зайдіть в Адресну книгу та виберіть <b>Експорт</b> в меню <b>Файл</b>. Файл буде експортовано в форматі VCard.
|
|
||||||
international addressbook uk Міжнародний
|
|
||||||
isdn phone addressbook uk ISDN телефон
|
|
||||||
label addressbook uk Примітки
|
|
||||||
ldap context for contacts admin uk
|
|
||||||
ldap host for contacts admin uk
|
|
||||||
ldap root dn for contacts admin uk
|
|
||||||
ldap root pw for contacts admin uk
|
|
||||||
ldif addressbook uk LDIF
|
|
||||||
line 2 addressbook uk Рядок 2
|
|
||||||
mark records as private addressbook uk Помітити записи як особисті
|
|
||||||
message phone addressbook uk Телефон автовідповідача
|
|
||||||
middle name addressbook uk По батькові
|
|
||||||
mobile addressbook uk Мобільний
|
|
||||||
mobile phone addressbook uk Мобільний телефон
|
|
||||||
modem phone addressbook uk Модемний телефон
|
|
||||||
no vcard addressbook uk немає VCard
|
|
||||||
number of records to read (%1) addressbook uk Кількість записів для читання (%1)
|
|
||||||
other number addressbook uk Інший номер
|
|
||||||
other phone addressbook uk Інший телефон
|
|
||||||
pager common uk Пейджер
|
|
||||||
parcel addressbook uk Поштова скринька
|
|
||||||
phone number common uk Номер телефону
|
|
||||||
phone numbers common uk Телефонні номери
|
|
||||||
please enter a name for that field ! addressbook uk Будь ласка введіть назву поля !
|
|
||||||
postal common uk Поштовий
|
|
||||||
pref addressbook uk ліпше
|
|
||||||
prefix addressbook uk Префікс
|
|
||||||
public key addressbook uk Публічний ключ
|
|
||||||
read a list of entries. addressbook uk Прочитати перелік записів
|
|
||||||
read a single entry by passing the id and fieldlist. addressbook uk Прочитати один запис по id та переліку полів.
|
|
||||||
record access addressbook uk Доступи запису
|
|
||||||
record owner addressbook uk Власник запису
|
|
||||||
retrieve contacts admin uk втягнути контакти
|
|
||||||
select the type of conversion addressbook uk Виберіть тип конверсії
|
|
||||||
select where you want to store admin uk Виберіть місце для зберігання
|
|
||||||
show birthday reminders on main screen addressbook uk Показувати основному екрані нагадування про дні народження
|
|
||||||
startrecord addressbook uk Початковий запис
|
|
||||||
state common uk Область
|
|
||||||
street common uk Вулиця
|
|
||||||
successfully imported %1 records into your addressbook. addressbook uk В Адресну книгу успішо імпортовано %1 записів.
|
|
||||||
suffix addressbook uk Суфікс
|
|
||||||
test import (show importable records <u>only</u> in browser) addressbook uk Тестувати Імпорт (тільки показати записи, що можуть бути імпортовані)
|
|
||||||
that field name has been used already ! addressbook uk Така назва поля вже використовується
|
|
||||||
this person's first name was not in the address book. addressbook uk В Адресній книзі немає людини з таким ім'ям.
|
|
||||||
this person's last name was not in the address book. addressbook uk В Адресній книзі немає людини з таким прізвищем.
|
|
||||||
to many might exceed your execution-time-limit addressbook uk надто багато може перевищити Ваш ліміт часу
|
|
||||||
today is %1's birthday! common uk Сьогодні день народження %1!
|
|
||||||
tomorrow is %1's birthday. common uk Завтра день народження %1.
|
|
||||||
translation addressbook uk Переклад
|
|
||||||
update a single entry by passing the fields. addressbook uk Змінити один запис шляхом заповнення полів.
|
|
||||||
use country list addressbook uk Використовувати перелік країн
|
|
||||||
vcard common uk VCard
|
|
||||||
vcards require a first name entry. addressbook uk VCard потребує поле імені.
|
|
||||||
vcards require a last name entry. addressbook uk VCard потребує поле прізвища.
|
|
||||||
video phone addressbook uk Відеотелефон
|
|
||||||
voice phone addressbook uk Голосовий телефон
|
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin uk УВАГА!! LDAP можливий тільки якщо Ви НЕ використовуєте контакти для зберігання рахунків користувачів!
|
|
||||||
work phone addressbook uk Робочий телефон
|
|
||||||
you must select a vcard. (*.vcf) addressbook uk Необхідно вказати VCard. (*.vcf)
|
|
||||||
you must select at least 1 column to display addressbook uk Необхідно вказати мінімум один стовпчик для показу
|
|
||||||
zip code common uk Поштовий індекс
|
|
||||||
zip_note addressbook uk <p><b>Примітка:</b> Файл може бути zip архівом колекції .csv, .vcf, або .ldif файлів. Але не змішуйте типи файлів в імпорті.
|
|
@ -75,6 +75,7 @@ full name addressbook zh 姓名
|
|||||||
geo addressbook zh GEO
|
geo addressbook zh GEO
|
||||||
global categories addressbook zh 全局类别
|
global categories addressbook zh 全局类别
|
||||||
grant addressbook access common zh 授权访问
|
grant addressbook access common zh 授权访问
|
||||||
|
home addressbook zh 家庭
|
||||||
home address type addressbook zh 地址类型
|
home address type addressbook zh 地址类型
|
||||||
home city addressbook zh 城市
|
home city addressbook zh 城市
|
||||||
home country addressbook zh 国家/地区
|
home country addressbook zh 国家/地区
|
||||||
@ -88,41 +89,46 @@ import addressbook zh 导入
|
|||||||
import contacts addressbook zh 导入通讯录
|
import contacts addressbook zh 导入通讯录
|
||||||
import csv-file into addressbook addressbook zh 从CSV文件导入
|
import csv-file into addressbook addressbook zh 从CSV文件导入
|
||||||
import file addressbook zh 导入文件
|
import file addressbook zh 导入文件
|
||||||
|
import from addressbook zh 导入从
|
||||||
import from ldif, csv, or vcard addressbook zh 导入其他软件的通讯录
|
import from ldif, csv, or vcard addressbook zh 导入其他软件的通讯录
|
||||||
import from outlook addressbook zh 从Outlook导入
|
import from outlook addressbook zh 从Outlook导入
|
||||||
|
import multiple vcard addressbook zh 导入多重名片档
|
||||||
import next set addressbook zh 导入下一个集合
|
import next set addressbook zh 导入下一个集合
|
||||||
import_instructions addressbook zh 请按照下列方法导出其他软件的通讯录, 以便导入eGroupWare中:<p>在Netscape中, 打开通讯录, 选定<b>文件</b>菜单的<b>导出</b>项, 导出的文件将以LDIF格式存放.<p>在Outlook中, 选定将要导出的联系人文件夹, 选定<b>文件菜单</b>的<b>导入和导出</b>项, 导出的文件将以CSV格式存放.<p>在Palm Desktop 4.0或更高版本中, 打开通讯录, 选定<b>文件</b>菜单的<b>导出</b>项, 导出的文件将以VCard格式存放.<p>Palm Desktop 4.0 或是更新的版本,在瀏覽通訊錄資料時在<b>檔案</b>功能選擇 <b>匯出</b>,匯出的資料是 VCard 格式。
|
import_instructions addressbook zh 请按照下列方法导出其他软件的通讯录, 以便导入eGroupWare中:<p>在Netscape中, 打开通讯录, 选定<b>文件</b>菜单的<b>导出</b>项, 导出的文件将以LDIF格式存放.<p>在Outlook中, 选定将要导出的联系人文件夹, 选定<b>文件菜单</b>的<b>导入和导出</b>项, 导出的文件将以CSV格式存放.<p>在Palm Desktop 4.0或更高版本中, 打开通讯录, 选定<b>文件</b>菜单的<b>导出</b>项, 导出的文件将以VCard格式存放.
|
||||||
international addressbook zt 國際
|
international addressbook zh 国际
|
||||||
isdn phone addressbook zt ISDN電話
|
isdn phone addressbook zh ISDN电话
|
||||||
label addressbook zt 概述
|
label addressbook zh 附注
|
||||||
ldap context for contacts admin zt 聯絡人之LDAP context
|
ldap context for contacts admin zh LDAP服务器上下文
|
||||||
ldap host for contacts admin zt 聯絡人之LDAP host
|
ldap host for contacts admin zh LDAP服务器主机名
|
||||||
ldap root dn for contacts admin zt 聯絡人之LDAP root dn
|
ldap root dn for contacts admin zh LDAP服务器管理员dn
|
||||||
ldap root pw for contacts admin zt 聯絡人之LDAP root 密碼
|
ldap root pw for contacts admin zh LDAP服务器管理员密码
|
||||||
ldif addressbook zt LDIF
|
ldif addressbook zh LDIF
|
||||||
line 2 addressbook zt 第2行
|
line 2 addressbook zh 第2行
|
||||||
mark records as private addressbook zt 標示為私人記錄
|
load vcard addressbook zh 导入Vcard
|
||||||
message phone addressbook zt 留言電話
|
mark records as private addressbook zh 将导入的条目设为私有条目
|
||||||
middle name addressbook zt 中間欄位
|
message phone addressbook zh 短信电话
|
||||||
mobile addressbook zt 行動電話
|
middle name addressbook zh 中间名
|
||||||
mobile phone addressbook zt 行動電話
|
mobile addressbook zh 移动的
|
||||||
modem phone addressbook zt 撥接電話
|
mobile phone addressbook zh 移动电话
|
||||||
no vcard addressbook zt 沒有VCard
|
modem phone addressbook zh Modem电话
|
||||||
number of records to read (%1) addressbook zt 讀取記錄號碼(%1)
|
multiple vcard addressbook zh 多重名片档
|
||||||
number of records to read (<=200) addressbook zt 讀取的資料筆數(<=200)
|
no vcard addressbook zh 无vCard
|
||||||
other number addressbook zt 其他號碼
|
number of records to read (<=200) addressbook zh 待读取记录数 (<=200)
|
||||||
other phone addressbook zt 其他電話
|
number of records to read (%1) addressbook zh 读取记录号码(%1)
|
||||||
pager common zt 呼叫器
|
other number addressbook zh 其他电话
|
||||||
parcel addressbook zt 兼職
|
other phone addressbook zh 其他电话
|
||||||
phone number common zt 電話號碼
|
pager common zh 寻呼
|
||||||
phone numbers common zt 電話號碼
|
parcel addressbook zh 包裹
|
||||||
please enter a name for that field ! addressbook zt 請輸入欄位名稱!
|
phone number common zh 电话号码
|
||||||
postal common zt 郵政信箱
|
phone numbers common zh 电话号码
|
||||||
|
please enter a name for that field ! addressbook zh 请输入该字段名!
|
||||||
|
postal common zh 邮政
|
||||||
pref addressbook zh 设为首选
|
pref addressbook zh 设为首选
|
||||||
|
preference addressbook zh 通讯录个性化配置
|
||||||
prefix addressbook zh 称谓
|
prefix addressbook zh 称谓
|
||||||
public key addressbook zh 公钥
|
public key addressbook zh 公钥
|
||||||
read a list of entries. addressbook zh 读取条目列表.
|
read a list of entries. addressbook zh 读取条目列表.
|
||||||
read a single entry by passing the id and fieldlist. addressbook zh Read a single entry by passing the id and fieldlist.
|
read a single entry by passing the id and fieldlist. addressbook zh 从ID及条目清单读取一个条目
|
||||||
record access addressbook zh 谁可访问?
|
record access addressbook zh 谁可访问?
|
||||||
record owner addressbook zh 所有者
|
record owner addressbook zh 所有者
|
||||||
retrieve contacts admin zh 取位置:
|
retrieve contacts admin zh 取位置:
|
||||||
@ -140,7 +146,7 @@ test import (show importable records <u>only</u> in browser) addressbook zh 导
|
|||||||
that field name has been used already ! addressbook zh 该字段名已被占用!
|
that field name has been used already ! addressbook zh 该字段名已被占用!
|
||||||
this person's first name was not in the address book. addressbook zh 通讯录中无此人名.
|
this person's first name was not in the address book. addressbook zh 通讯录中无此人名.
|
||||||
this person's last name was not in the address book. addressbook zh 通讯录中无此姓氏.
|
this person's last name was not in the address book. addressbook zh 通讯录中无此姓氏.
|
||||||
to many might exceed your execution-time-limit addressbook zh to many might exceed your execution-time-limit
|
to many might exceed your execution-time-limit addressbook zh 太多而超时
|
||||||
today is %1's birthday! common zh 今天是%1的生日!
|
today is %1's birthday! common zh 今天是%1的生日!
|
||||||
tomorrow is %1's birthday. common zh 明天是%1的生日。
|
tomorrow is %1's birthday. common zh 明天是%1的生日。
|
||||||
translation addressbook zh 翻译
|
translation addressbook zh 翻译
|
||||||
|
@ -23,19 +23,19 @@ birthday common zt 生日
|
|||||||
birthdays common zt 生日
|
birthdays common zt 生日
|
||||||
blank addressbook zt 空白
|
blank addressbook zt 空白
|
||||||
business common zt 公司
|
business common zt 公司
|
||||||
business address type addressbook zt 住址類型
|
business address type addressbook zt 公司住址資料
|
||||||
business city addressbook zt 縣/市
|
business city addressbook zt 公司所在縣/市
|
||||||
business country addressbook zt 國家/地區
|
business country addressbook zt 公司所在國家/地區
|
||||||
business email addressbook zt 電子郵件
|
business email addressbook zt 公司電子郵件
|
||||||
business email type addressbook zt 電子郵件類型
|
business email type addressbook zt 公司電子郵件類型
|
||||||
business fax addressbook zt 傳真
|
business fax addressbook zt 公司傳真
|
||||||
business phone addressbook zt 電話
|
business phone addressbook zt 公司電話
|
||||||
business state addressbook zt 省/市
|
business state addressbook zt 公司所在省/市
|
||||||
business street addressbook zt 地址
|
business street addressbook zt 公司所在街道
|
||||||
business zip code addressbook zt 郵遞區號
|
business zip code addressbook zt 公司郵遞區號
|
||||||
car phone addressbook zt 車用電話
|
car phone addressbook zt 車用電話
|
||||||
cell phone addressbook zt 行動電話
|
cell phone addressbook zt 行動電話
|
||||||
charset of file addressbook zt 檔案字元編碼設定
|
charset of file addressbook zt 檔案字元設定
|
||||||
city common zt 縣市
|
city common zt 縣市
|
||||||
company common zt 公司
|
company common zt 公司
|
||||||
company name common zt 公司名稱
|
company name common zt 公司名稱
|
||||||
@ -75,25 +75,24 @@ full name addressbook zt 全名
|
|||||||
geo addressbook zt GEO
|
geo addressbook zt GEO
|
||||||
global categories addressbook zt 全域類別
|
global categories addressbook zt 全域類別
|
||||||
grant addressbook access common zt 允許存取通訊錄
|
grant addressbook access common zt 允許存取通訊錄
|
||||||
home address type addressbook zt 住址
|
home address type addressbook zt 住家住址資料
|
||||||
home city addressbook zt 縣/市
|
home city addressbook zt 住家所在縣/市
|
||||||
home country addressbook zt 國家/地區
|
home country addressbook zt 住家所在國家/地區
|
||||||
home email addressbook zt 電子郵件
|
home email addressbook zt 住家電子郵件
|
||||||
home email type addressbook zt 電子郵件類型
|
home email type addressbook zt 住家電子郵件類型
|
||||||
home phone addressbook zt 電話
|
home phone addressbook zt 住家電話
|
||||||
home state addressbook zt 省/市
|
home state addressbook zt 住家所在省/市
|
||||||
home street addressbook zt 地址
|
home street addressbook zt 住家所在街道
|
||||||
home zip code addressbook zt 郵遞區號
|
home zip code addressbook zt 住家郵遞區號
|
||||||
import addressbook zt 匯入
|
import addressbook zt 匯入
|
||||||
import contacts addressbook zt 匯入聯絡人
|
import contacts addressbook zt 匯入聯絡人
|
||||||
import csv-file into addressbook addressbook zt 將CSV檔案匯入通訊錄
|
import csv-file into addressbook addressbook zt 將CSV檔案匯入通訊錄
|
||||||
import file addressbook zt 匯入檔案
|
import file addressbook zt 匯入檔案
|
||||||
import from addressbook zt 匯入自
|
|
||||||
import from ldif, csv, or vcard addressbook zt 從LDIF, CSV, 或 VCard匯入
|
import from ldif, csv, or vcard addressbook zt 從LDIF, CSV, 或 VCard匯入
|
||||||
import from outlook addressbook zt 從Outlook匯入
|
import from outlook addressbook zt 從Outlook匯入
|
||||||
import multiple vcard addressbook zt 匯入多重名片檔
|
|
||||||
import next set addressbook zt 匯入下一個
|
import next set addressbook zt 匯入下一個
|
||||||
import_instructions addressbook zt Netscape,開啟通訊錄並且從<b>檔案</b>功能選擇<b>匯出</b>,匯出的檔案是LDIF格式。Outlook,選擇聯絡人資料夾,從<b>檔案</b>功能選擇<b>匯入與匯出...</b>來匯出聯絡人資料成為逗點分隔(CSV)檔案。
|
import_instructions addressbook zt Netscape,開啟通訊錄並且從<b>檔案</b>功能選擇<b>匯出</b>,匯出的檔案是LDIF格式。Outlook,選擇聯絡人資料夾,從<b>檔案</b>功能選擇<b>匯入與匯出...</b>來匯出聯絡人資料成為逗點分隔(CSV)檔案。
|
||||||
|
<p>Palm Desktop 4.0 或是更新的版本,在瀏覽通訊錄資料時在<b>檔案</b>功能選擇 <b>匯出</b>,匯出的資料是 VCard 格式。
|
||||||
international addressbook zt 國際
|
international addressbook zt 國際
|
||||||
isdn phone addressbook zt ISDN電話
|
isdn phone addressbook zt ISDN電話
|
||||||
label addressbook zt 概述
|
label addressbook zt 概述
|
||||||
@ -103,14 +102,12 @@ ldap root dn for contacts admin zt 聯絡人之LDAP root dn
|
|||||||
ldap root pw for contacts admin zt 聯絡人之LDAP root 密碼
|
ldap root pw for contacts admin zt 聯絡人之LDAP root 密碼
|
||||||
ldif addressbook zt LDIF
|
ldif addressbook zt LDIF
|
||||||
line 2 addressbook zt 第2行
|
line 2 addressbook zt 第2行
|
||||||
load vcard addressbook zt 讀取名片檔
|
|
||||||
mark records as private addressbook zt 標示為私人記錄
|
mark records as private addressbook zt 標示為私人記錄
|
||||||
message phone addressbook zt 留言電話
|
message phone addressbook zt 留言電話
|
||||||
middle name addressbook zt 中間欄位
|
middle name addressbook zt 中間欄位
|
||||||
mobile addressbook zt 行動電話
|
mobile addressbook zt 行動電話
|
||||||
mobile phone addressbook zt 行動電話
|
mobile phone addressbook zt 行動電話
|
||||||
modem phone addressbook zt 撥接電話
|
modem phone addressbook zt 撥接電話
|
||||||
multiple vcard addressbook zt 多重名片檔
|
|
||||||
no vcard addressbook zt 沒有VCard
|
no vcard addressbook zt 沒有VCard
|
||||||
number of records to read (%1) addressbook zt 讀取記錄號碼(%1)
|
number of records to read (%1) addressbook zt 讀取記錄號碼(%1)
|
||||||
number of records to read (<=200) addressbook zt 讀取的資料筆數(<=200)
|
number of records to read (<=200) addressbook zt 讀取的資料筆數(<=200)
|
||||||
@ -122,8 +119,8 @@ phone number common zt 電話號碼
|
|||||||
phone numbers common zt 電話號碼
|
phone numbers common zt 電話號碼
|
||||||
please enter a name for that field ! addressbook zt 請輸入欄位名稱!
|
please enter a name for that field ! addressbook zt 請輸入欄位名稱!
|
||||||
postal common zt 郵政信箱
|
postal common zt 郵政信箱
|
||||||
pref addressbook zt 主要
|
pref addressbook zt 主
|
||||||
prefix addressbook zt 稱謂(前置)
|
prefix addressbook zt 稱謂
|
||||||
public key addressbook zt 公鑰
|
public key addressbook zt 公鑰
|
||||||
read a list of entries. addressbook zt 讀取項目清單。
|
read a list of entries. addressbook zt 讀取項目清單。
|
||||||
read a single entry by passing the id and fieldlist. addressbook zt 從id及欄位清單讀取一筆資料。
|
read a single entry by passing the id and fieldlist. addressbook zt 從id及欄位清單讀取一筆資料。
|
||||||
@ -137,9 +134,9 @@ select where you want to store admin zt 選擇您想存放的位置
|
|||||||
show birthday reminders on main screen addressbook zt 在主畫面顯示生日提示
|
show birthday reminders on main screen addressbook zt 在主畫面顯示生日提示
|
||||||
startrecord addressbook zt 開始記錄
|
startrecord addressbook zt 開始記錄
|
||||||
state common zt 省/市
|
state common zt 省/市
|
||||||
street common zt 地址
|
street common zt 街道
|
||||||
successfully imported %1 records into your addressbook. addressbook zt 成功匯入 %1 筆通訊錄資料
|
successfully imported %1 records into your addressbook. addressbook zt 成功匯入 %1 筆通訊錄資料
|
||||||
suffix addressbook zt 稱謂(後置)
|
suffix addressbook zt 暱稱
|
||||||
test import (show importable records <u>only</u> in browser) addressbook zt 測試匯入?(在瀏覽器中<u>只顯示</u>可匯入的紀錄)
|
test import (show importable records <u>only</u> in browser) addressbook zt 測試匯入?(在瀏覽器中<u>只顯示</u>可匯入的紀錄)
|
||||||
that field name has been used already ! addressbook zt 這個欄位名稱已經被使用!
|
that field name has been used already ! addressbook zt 這個欄位名稱已經被使用!
|
||||||
this person's first name was not in the address book. addressbook zt 這個人的名字沒有在通訊錄中。
|
this person's first name was not in the address book. addressbook zt 這個人的名字沒有在通訊錄中。
|
||||||
@ -150,14 +147,14 @@ tomorrow is %1's birthday. common zt 明天是 %1 的生日。
|
|||||||
translation addressbook zt 轉換
|
translation addressbook zt 轉換
|
||||||
update a single entry by passing the fields. addressbook zt 從欄位更新一筆資料。
|
update a single entry by passing the fields. addressbook zt 從欄位更新一筆資料。
|
||||||
use country list addressbook zt 使用國家清單
|
use country list addressbook zt 使用國家清單
|
||||||
vcard common zt 名片檔
|
vcard common zt VCard
|
||||||
vcards require a first name entry. addressbook zt 名片檔需要名字資料。
|
vcards require a first name entry. addressbook zt VCards需要名字資料。
|
||||||
vcards require a last name entry. addressbook zt 名片檔需要姓氏資料。
|
vcards require a last name entry. addressbook zt Vcards需要姓氏資料。
|
||||||
video phone addressbook zt 影像電話
|
video phone addressbook zt 影像電話
|
||||||
voice phone addressbook zt 語音電話
|
voice phone addressbook zt 語音電話
|
||||||
warning!! ldap is valid only if you are not using contacts for accounts storage! admin zt 注意!!只有當您沒有將聯絡人作為帳號儲存時LDAP才會生效!
|
warning!! ldap is valid only if you are not using contacts for accounts storage! admin zt 注意!!只有當您沒有將聯絡人作為帳號儲存時LDAP才會生效!
|
||||||
work phone addressbook zt 工作電話
|
work phone addressbook zt 工作電話
|
||||||
you must select a vcard. (*.vcf) addressbook zt 您必須選取一個名片檔 (*.vcf)
|
you must select a vcard. (*.vcf) addressbook zt 您必須選取一個vcard (*.vcf)
|
||||||
you must select at least 1 column to display addressbook zt 您必須至少選取一個欄位才能顯示
|
you must select at least 1 column to display addressbook zt 您必須至少選取一個欄位才能顯示
|
||||||
zip code common zt 郵遞區號
|
zip code common zt 郵遞區號
|
||||||
zip_note addressbook zt <p><b>注意:</b> 壓縮檔案可能包含 .csv, .vcf, 或 .ldif 格式,請不要在同一次的匯入工作中混用不同的檔案格式!
|
zip_note addressbook zt <p><b>注意:</b> 壓縮檔案可能包含 .csv, .vcf, 或 .ldif 格式,請不要在同一次的匯入工作中混用不同的檔案格式!
|
||||||
|
@ -48,6 +48,6 @@
|
|||||||
/* Dependencies for this app to work */
|
/* Dependencies for this app to work */
|
||||||
$setup_info['addressbook']['depends'][] = array(
|
$setup_info['addressbook']['depends'][] = array(
|
||||||
'appname' => 'phpgwapi',
|
'appname' => 'phpgwapi',
|
||||||
'versions' => Array('0.9.14','0.9.15','1.0.0','1.0.1')
|
'versions' => Array('0.9.14','0.9.15','1.0.0')
|
||||||
);
|
);
|
||||||
?>
|
?>
|
||||||
|
@ -1,35 +0,0 @@
|
|||||||
<?php
|
|
||||||
/**************************************************************************\
|
|
||||||
* eGroupWare - Addressbook - API contacts service test *
|
|
||||||
* 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$ */
|
|
||||||
|
|
||||||
$GLOBALS['egw_info'] = array();
|
|
||||||
$GLOBALS['egw_info']['flags'] = array(
|
|
||||||
'currentapp' => 'addressbook',
|
|
||||||
'noheader' => True,
|
|
||||||
'nonavbar' => True
|
|
||||||
);
|
|
||||||
include('../header.inc.php');
|
|
||||||
|
|
||||||
$obj = CreateObject('phpgwapi.service');
|
|
||||||
|
|
||||||
/* Entire addressbook */
|
|
||||||
$tmp = $obj->exec(array('contacts','read_list'));
|
|
||||||
echo '<br/>Entire list:';
|
|
||||||
_debug_array($tmp);
|
|
||||||
|
|
||||||
/* Single entry with id of 182 */
|
|
||||||
$tmp = $obj->exec(array('contacts','read',array('id' => 182)));
|
|
||||||
echo '<br/>Single entry:';
|
|
||||||
_debug_array($tmp);
|
|
||||||
|
|
||||||
$GLOBALS['phpgw']->common->phpgw_footer();
|
|
||||||
?>
|
|
@ -1,16 +0,0 @@
|
|||||||
<table border="0" width="100%">
|
|
||||||
<tr>
|
|
||||||
<td align="left">
|
|
||||||
<a href="{url}"><img src="{image}" border="0" alt="{alt}"></a>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center">{about_addressbook}</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center">{appear} {agent} {version} {on} {platform}.</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><hr></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
@ -1,16 +0,0 @@
|
|||||||
|
|
||||||
<!-- BEGIN add -->
|
|
||||||
<!--<table border="0" cellPadding="0" cellSpacing="0" width="77%">-->
|
|
||||||
<tr>
|
|
||||||
<td width="10%">
|
|
||||||
<input type="submit" name="submit" value="{lang_save}">
|
|
||||||
</td>
|
|
||||||
</form>
|
|
||||||
<form action="{cancel_url}" method="post">
|
|
||||||
<td colspan="3">
|
|
||||||
<input type="submit" name="cancel" value="{lang_cancel}">
|
|
||||||
</td>
|
|
||||||
</form>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<!-- END add -->
|
|
@ -1,16 +0,0 @@
|
|||||||
<!-- BEGIN admin.tpl -->
|
|
||||||
<p><b>{lang_admin}:</b><hr><p>
|
|
||||||
<form method="POST" action="{action_url}">
|
|
||||||
<table border="0" align="center" cellspacing="1" cellpadding="1">
|
|
||||||
<tr bgcolor="#EEEEEE">
|
|
||||||
<td colspan="3">
|
|
||||||
{lang_countrylist}
|
|
||||||
<input type="checkbox" name="usecountrylist"{countrylist}></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="5" align="center">
|
|
||||||
<input type="submit" name="submit" value="{lang_submit}">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
@ -1,64 +0,0 @@
|
|||||||
<!-- BEGIN header -->
|
|
||||||
<form method="POST" action="{action_url}">
|
|
||||||
{hidden_vars}
|
|
||||||
<table border="0" align="center">
|
|
||||||
<tr class="th">
|
|
||||||
<td colspan="2"><font color="{th_text}"> <b>{title}</b></font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{th_err}">
|
|
||||||
<td colspan="2"> <b>{error}</b></font></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END header -->
|
|
||||||
<!-- BEGIN body -->
|
|
||||||
<tr class="th">
|
|
||||||
<td colspan="2"> <b>{lang_Addressbook}/{lang_Contact_Settings}</b></font></td>
|
|
||||||
</tr>
|
|
||||||
<!--
|
|
||||||
<tr class="row_on">
|
|
||||||
<td>{lang_Contact_application}:</td>
|
|
||||||
<td><input name="newsettings[contact_application]" value="{value_contact_application}"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td align="center" colspan="2">{lang_WARNING!!_LDAP_is_valid_only_if_you_are_NOT_using_contacts_for_accounts_storage!}</td>
|
|
||||||
</tr> -->
|
|
||||||
<tr class="row_off">
|
|
||||||
<td>{lang_Select_where_you_want_to_store}/{lang_retrieve_contacts}.</td>
|
|
||||||
<td>
|
|
||||||
<select name="newsettings[contact_repository]">
|
|
||||||
<option value="sql" {selected_contact_repository_sql}>SQL</option>
|
|
||||||
<option value="ldap" {selected_contact_repository_ldap}>LDAP</option>
|
|
||||||
</select>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_on">
|
|
||||||
<td>{lang_LDAP_host_for_contacts}:</td>
|
|
||||||
<td><input name="newsettings[ldap_contact_host]" value="{value_ldap_contact_host}"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td>{lang_LDAP_context_for_contacts}:</td>
|
|
||||||
<td><input name="newsettings[ldap_contact_context]" value="{value_ldap_contact_context}" size="40"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_on">
|
|
||||||
<td>{lang_LDAP_root_dn_for_contacts}:</td>
|
|
||||||
<td><input name="newsettings[ldap_contact_dn]" value="{value_ldap_contact_dn}" size="40"></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td>{lang_LDAP_root_pw_for_contacts}:</td>
|
|
||||||
<td><input name="newsettings[ldap_contact_pw]" type="password" value=""></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END body -->
|
|
||||||
<!-- BEGIN footer -->
|
|
||||||
<tr class="th">
|
|
||||||
<td colspan="2">
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="2" align="center">
|
|
||||||
<input type="submit" name="submit" value="{lang_submit}">
|
|
||||||
<input type="submit" name="cancel" value="{lang_cancel}">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
<!-- END footer -->
|
|
@ -1,71 +0,0 @@
|
|||||||
|
|
||||||
<br><center>
|
|
||||||
|
|
||||||
<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>
|
|
||||||
<tr>
|
|
||||||
<td>{lang_fieldsep}</td>
|
|
||||||
<td><input name="fieldsep" size=1 value="{fieldsep}"></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>{lang_charset}</td>
|
|
||||||
<td>
|
|
||||||
{select_charset}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr><td> </td>
|
|
||||||
<td><INPUT NAME="convert" TYPE="submit" VALUE="{submit}"></TD>
|
|
||||||
</TR>
|
|
||||||
<!-- END filename -->
|
|
||||||
|
|
||||||
<!-- BEGIN fheader -->
|
|
||||||
<tr>
|
|
||||||
<td><b>{lang_csv_fieldname}</b></td>
|
|
||||||
<td><b>{lang_addr_fieldname}</b></td>
|
|
||||||
<td><b>{lang_translation}</b></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END fheader -->
|
|
||||||
|
|
||||||
<!-- 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>
|
|
||||||
</tr>
|
|
||||||
<!-- END fields -->
|
|
||||||
|
|
||||||
<!-- BEGIN ffooter -->
|
|
||||||
<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>
|
|
||||||
</tr>
|
|
||||||
<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>
|
|
||||||
<!-- END ffooter -->
|
|
||||||
|
|
||||||
<!-- BEGIN imported -->
|
|
||||||
<tr>
|
|
||||||
<td colspan="2">
|
|
||||||
{log}<p>
|
|
||||||
{anz_imported}
|
|
||||||
</td>
|
|
||||||
</TR>
|
|
||||||
<!-- END imported -->
|
|
||||||
|
|
||||||
</TABLE>
|
|
||||||
{hiddenvars}
|
|
||||||
</form>
|
|
||||||
|
|
||||||
</CENTER>
|
|
@ -1,10 +0,0 @@
|
|||||||
<br>
|
|
||||||
<center>{lang_sure}</center>
|
|
||||||
<br>
|
|
||||||
<center>
|
|
||||||
<form action="{yes_link}" method="POST">
|
|
||||||
<input type="submit" name="yes" value="{lang_yes}">
|
|
||||||
<input type="submit" name="no" value="{lang_no}">
|
|
||||||
<input type="hidden" name="select" value="{select}">
|
|
||||||
</form>
|
|
||||||
</center>
|
|
@ -1,16 +0,0 @@
|
|||||||
<!-- BEGIN form -->
|
|
||||||
<center>
|
|
||||||
<table border="0" with="65%">
|
|
||||||
<tr>
|
|
||||||
<td colspan="2" align="center">
|
|
||||||
{messages}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center">{no}</td>
|
|
||||||
<td align="center">{yes}</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</center>
|
|
||||||
<!-- END form -->
|
|
||||||
|
|
@ -1,23 +0,0 @@
|
|||||||
|
|
||||||
<!-- BEGIN edit -->
|
|
||||||
<input type="hidden" name="entry[ab_id]" value="{ab_id}">
|
|
||||||
<input type="hidden" name="entry[tid]" value="{tid}">
|
|
||||||
<input type="hidden" name="entry[referer]" value="{referer}">
|
|
||||||
<!-- <table border="0" cellPadding="1" cellSpacing="1" width="95%" align="center">-->
|
|
||||||
<tr valign="top">
|
|
||||||
<td align="left" width="10%">
|
|
||||||
<input type="submit" name="submit" value="{lang_save}"></form>
|
|
||||||
</TD>
|
|
||||||
<td align="left" colspan="3">
|
|
||||||
{cancel_link}
|
|
||||||
<input type="submit" name="cancel" value="{lang_cancel}"></form>
|
|
||||||
</td>
|
|
||||||
<td align="right">
|
|
||||||
{delete_link}
|
|
||||||
<input type="hidden" name="entry[ab_id]" value="{ab_id}">
|
|
||||||
{delete_button}
|
|
||||||
</form>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<!-- END edit -->
|
|
@ -1,54 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
<!-- BEGIN form -->
|
|
||||||
<center>
|
|
||||||
<table border="0" width="80%" cellspacing="2" cellpadding="2">
|
|
||||||
<tr>
|
|
||||||
<td colspan="1" align="center" bgcolor="#c9c9c9"><b>{title_fields}<b/></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
{message}
|
|
||||||
<table border="0" width="80%" cellspacing="2" cellpadding="2">
|
|
||||||
<form name="form" action="{actionurl}" method="POST">
|
|
||||||
<tr>
|
|
||||||
<td>{lang_name}:</td>
|
|
||||||
<td><input name="field_name" size="50" value="{field_name}"></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<!-- BEGIN add -->
|
|
||||||
<table width="50%" border="0" cellspacing="2" cellpadding="2">
|
|
||||||
<tr valign="bottom">
|
|
||||||
<td height="50" align="center">
|
|
||||||
{hidden_vars}
|
|
||||||
<input type="submit" name="submit" value="{lang_add}"></td>
|
|
||||||
<td height="50" align="center">
|
|
||||||
<input type="reset" name="reset" value="{lang_reset}"></form></td>
|
|
||||||
<td height="50" align="center">
|
|
||||||
<form method="POST" action="{doneurl}">
|
|
||||||
{hidden_vars}
|
|
||||||
<input type="submit" name="done" value="{lang_done}"></form></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
||||||
</center>
|
|
||||||
<!-- END add -->
|
|
||||||
|
|
||||||
<!-- BEGIN edit -->
|
|
||||||
<table width="50%" border="0" cellspacing="2" cellpadding="2">
|
|
||||||
<tr valign="bottom">
|
|
||||||
<td height="50" align="center">
|
|
||||||
{hidden_vars}
|
|
||||||
<input type="submit" name="submit" value="{lang_edit}"></form></td>
|
|
||||||
<td height="50" align="center">
|
|
||||||
<form method="POST" action="{deleteurl}">
|
|
||||||
{hidden_vars}
|
|
||||||
<input type="submit" name="delete" value="{lang_delete}"></form></td>
|
|
||||||
<td height="50" align="center">
|
|
||||||
<form method="POST" action="{doneurl}">
|
|
||||||
{hidden_vars}
|
|
||||||
<input type="submit" name="done" value="{lang_done}"></form></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</center>
|
|
||||||
<!-- END edit -->
|
|
||||||
<!-- END form -->
|
|
@ -1,282 +0,0 @@
|
|||||||
|
|
||||||
<!-- BEGIN addressbook entry form -->
|
|
||||||
<table width="95%" border="0" align="center">
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td colspan="5"><font color="{th_text}" face="">{lang_personal}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_prefix}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input size="10" name="entry[prefix]" value="{prefix}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_firstname}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[firstname]" value="{firstname}"></font>
|
|
||||||
</td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_middle}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[middle]" value="{middle}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_lastname}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input name="entry[lastname]" value="{lastname}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_suffix}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input size="10" name="entry[suffix]" value="{suffix}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_birthday}:</font></td>
|
|
||||||
<td colspan="3"><font size="-1">{birthday}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td colspan="5"><font color="{th_text}" face="">{lang_business}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td>
|
|
||||||
<font color="{row_text}" face="" size="-1">{lang_title}:</font>
|
|
||||||
</td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input name="entry[title]" value="{title}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td>
|
|
||||||
<font color="{row_text}" face="" size="-1">{lang_company}:</font>
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input size="30" name="entry[company]" value="{company}"></font>
|
|
||||||
</td>
|
|
||||||
<td colspan="2">
|
|
||||||
<font color="{row_text}" face="" size="-1">{lang_url}:</font>
|
|
||||||
<input size="30" name="entry[url]" value="{url}">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td>
|
|
||||||
<font color="{row_text}" face="" size="-1">{lang_email}:
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input size="30" name="entry[email]" value="{email}"></font>
|
|
||||||
</td>
|
|
||||||
<td colspan="2">
|
|
||||||
<font color="{row_text}" face="" size="-1">{lang_email_type}:</font>
|
|
||||||
<font size="-1">{email_type}</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td>
|
|
||||||
<font color="{row_text}" face="" size="-1">{lang_department}:</font>
|
|
||||||
</td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input name="entry[department]" value="{department}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_bstreet}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input size="30" name="entry[bstreet]" value="{bstreet}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_address2}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input size="30" name="entry[address2]" value="{address2}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_address3}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input size="30" name="entry[address3]" value="{address3}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_bcity}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input size="30" name="entry[bcity]" value="{bcity}"></font>
|
|
||||||
</td>
|
|
||||||
<td colspan="2"><font color="{row_text}" face="" size="-1">{lang_bstate}:</font>
|
|
||||||
<font size="-1"><input name="entry[bstate]" value="{bstate}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_bzip}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input size="10" name="entry[bzip]" value="{bzip}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_bcountry}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1">{bcountry}</font>
|
|
||||||
</td>
|
|
||||||
<td colspan="2"><font color="{row_text}" face="" size="-1">{lang_timezone}:</font>
|
|
||||||
<font size="-1">{timezone}</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_badrtype}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1">{badrtype}</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_wphone}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[wphone]" value="{wphone}"></font>{pref_work}
|
|
||||||
</td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_fax}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[fax]" value="{fax}"></font>{pref_fax}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_pager}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[pager]" value="{pager}"></font>{pref_pager}
|
|
||||||
</td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_mphone}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[mphone]" value="{mphone}"></font>{pref_cell}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_msgphone}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[msgphone]" value="{msgphone}"></font>{pref_msg}
|
|
||||||
</td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_isdnphone}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[isdnphone]" value="{isdnphone}"></font>{pref_isdn}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_carphone}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[carphone]" value="{carphone}"></font>{pref_car}
|
|
||||||
</td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_vidphone}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[vidphone]" value="{vidphone}"></font>{pref_video}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font size="-1">{lang_label}:</font></td>
|
|
||||||
<td colspan="3"><font size="-1">{label}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font size="-1">{lang_pubkey}:</font></td>
|
|
||||||
<td colspan="3"><font size="-1">{pubkey}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td colspan="5"><font color="{row_text}" face="">{lang_home}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td>
|
|
||||||
<font color="{row_text}" face="" size="-1">{lang_hemail}:</font>
|
|
||||||
</td>
|
|
||||||
<td><font size="-1"><input size="30" name="entry[hemail]" value="{hemail}"></font></td>
|
|
||||||
<td colspan="2"><font color="{row_text}" face="" size="-1">{lang_hemail_type}:</font>
|
|
||||||
<font size="-1">{hemail_type}</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_hstreet}:</font></td>
|
|
||||||
<td colspan="3"><font size="-1"><input size="30" name="entry[hstreet]" value="{hstreet}"></font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_hcity}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input size="30" name="entry[hcity]" value="{hcity}"></font>
|
|
||||||
</td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_hstate}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[hstate]" value="{hstate}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="" size="-1">{lang_hzip}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1"><input size="10" name="entry[hzip]" value="{hzip}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_hcountry}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1">{hcountry}</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_hadrtype}:</font></td>
|
|
||||||
<td colspan="3">
|
|
||||||
<font size="-1">{hadrtype}</font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td> </td>
|
|
||||||
<td><font color="{row_text}" face="" size="-1">{lang_hphone}:</font></td>
|
|
||||||
<td>
|
|
||||||
<font size="-1"><input name="entry[hphone]" value="{hphone}"></font>{pref_home}
|
|
||||||
</td>
|
|
||||||
<td colspan="2"><font color="{row_text}" face="" size="-1">{lang_ophone}:</font>
|
|
||||||
<font size="-1"><input name="entry[ophone]" value="{ophone}"></font>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td><font size="-1">{lang_notes}:</font></td>
|
|
||||||
<td colspan="4"><font size="-1">{notes}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
<td><font size="-1">{lang_private}:</font></td>
|
|
||||||
<td colspan="4">
|
|
||||||
<input type="checkbox" name="entry[access]" value="True"{access_check}>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
<td><font size="-1">{lang_cats}:</font></td>
|
|
||||||
<td colspan="4">{cats_link}</td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td colspan="5"><font color="{row_text}" face="" size="-1">{lang_custom}</font></td>
|
|
||||||
</tr>
|
|
||||||
{custom}
|
|
||||||
<!-- BEGIN creator -->
|
|
||||||
{create}
|
|
||||||
<!-- END creator -->
|
|
||||||
<!--</table>-->
|
|
||||||
<!-- END addressbook entry form -->
|
|
@ -1,19 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
|
|
||||||
<table border="0" cellpadding="2" cellspacing="2">
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{company}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{department}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{street}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{zip} {city}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{country}</font></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
@ -1,19 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
|
|
||||||
<table border="0" cellpadding="2" cellspacing="2">
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{company}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{department}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{street}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{city}, {state} {zip}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{country}</font></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
@ -1,29 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
|
|
||||||
<table border="0" cellpadding="1" cellspacing="1">
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{company}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_url}: {url}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{department}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_email}: {email}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{street}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_fon}: {tel}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{zip} {city}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_fax}: {fax}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{country}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
@ -1,29 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
|
|
||||||
<table border="0" cellpadding="2" cellspacing="2">
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{company}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_url}: {url}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{department}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_email}: {email}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{street}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_fon}: {tel}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{city}, {state} {zip}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{lang_fax}: {fax}</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{country}</font></td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
Before Width: | Height: | Size: 661 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 2.5 KiB |
@ -1,95 +0,0 @@
|
|||||||
<!-- BEGIN addressbook_header -->
|
|
||||||
<script>
|
|
||||||
function check_all(which)
|
|
||||||
{
|
|
||||||
for (i=0; i<document.addr_index.elements.length; i++)
|
|
||||||
{
|
|
||||||
if (document.addr_index.elements[i].type == "checkbox" && document.addr_index.elements[i].name.substring(0,which.length) == which)
|
|
||||||
{
|
|
||||||
if (document.addr_index.elements[i].checked)
|
|
||||||
{
|
|
||||||
document.addr_index.elements[i].checked = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
document.addr_index.elements[i].checked = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<style type="text/css">
|
|
||||||
.letter_box,.letter_box_active {
|
|
||||||
background-color: #D3DCE3;
|
|
||||||
width: 25px;
|
|
||||||
border: 1px solid #D3DCE3;
|
|
||||||
text-align: center;
|
|
||||||
cursor: pointer;
|
|
||||||
cusror: hand;
|
|
||||||
}
|
|
||||||
.letter_box_active {
|
|
||||||
font-weight: bold;
|
|
||||||
background-color: #E8F0F0;
|
|
||||||
}
|
|
||||||
.letter_box_active,.letter_box:hover {
|
|
||||||
border: 1px solid black;
|
|
||||||
background-color: #E8F0F0;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<div align="center">
|
|
||||||
{lang_showing}
|
|
||||||
<br>{searchreturn}
|
|
||||||
{search_filter}
|
|
||||||
|
|
||||||
<table width="95%" border="0">
|
|
||||||
<tr>
|
|
||||||
{alphalinks}
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table width="95%" border="0" cellspacing="1" cellpadding="3">
|
|
||||||
<form name="addr_index" action="{action_url}" method="POST">
|
|
||||||
<tr class="th">{cols}
|
|
||||||
<td width="5%" height="21"><font face="Arial, Helvetica, sans-serif" size="-1">{lang_actions}</font>
|
|
||||||
<a href="javascript:check_all('select')"><img src="{check}" border="0" height="16" width="21" alt="{select_all}"></a></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END addressbook_header -->
|
|
||||||
|
|
||||||
<!-- BEGIN column -->
|
|
||||||
<td valign="top"><font face="Arial, Helvetica, san-serif" size="2">{col_data} </font></td>
|
|
||||||
<!-- END column -->
|
|
||||||
|
|
||||||
<!-- BEGIN row -->
|
|
||||||
<tr bgcolor="{row_tr_color}">{columns}
|
|
||||||
<td valign="top" nowrap>{actions}</td>
|
|
||||||
</tr>
|
|
||||||
<!-- END row -->
|
|
||||||
|
|
||||||
<!-- BEGIN delete_block -->
|
|
||||||
<tr bgcolor="{row_tr_color}"><td colspan="{column_count}"> </td>
|
|
||||||
<td align="right"><input type="submit" name="Delete" value="{lang_delete}"></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END delete_block -->
|
|
||||||
|
|
||||||
<!-- BEGIN addressbook_footer -->{delete_button}
|
|
||||||
</form>
|
|
||||||
</table>
|
|
||||||
<table border="0" cellspacing="0" cellpadding="2">
|
|
||||||
<tr class="th">
|
|
||||||
<form action="{add_url}" method="post"><td><input type="submit" name="Add" value="{lang_add}" /></td></form>
|
|
||||||
<form action="{vcard_url}" method="post"><td><input type="submit" name="AddVcard" value="{lang_addvcard}" /></td></form>
|
|
||||||
<form action="{import_url}" method="post"><td><input type="submit" name="Import" value="{lang_import}" /></td></form>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table border="0" cellspacing="0" cellpadding="2">
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
|
|
||||||
<form action="{import_alt_url}" method="post"><td><input type="submit" name="Import" value="{lang_import_alt}" /></td></form>
|
|
||||||
<form action="{export_url}" method="post"><td><input type="submit" name="Export" value="{lang_export}" /></td></form>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- END addressbook_footer -->
|
|
||||||
|
|
||||||
<!-- BEGIN addressbook_alpha -->
|
|
||||||
<td class="{charclass}" onclick="location.href='{charlink}';">{char}</td>
|
|
||||||
<!-- END addressbook_alpha -->
|
|
@ -1,7 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
|
|
||||||
<table border="0" cellpadding="2" cellspacing="2">
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{company} ° {street} ° {zip} {city}{county}</font></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
@ -1,7 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
|
|
||||||
<table border="0" cellpadding="2" cellspacing="2">
|
|
||||||
<tr>
|
|
||||||
<td><font face="{font}" size="{fontsize}">{company} ° {street} ° {city}, {state} {zip}{country}</font></td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
@ -1,52 +0,0 @@
|
|||||||
<center>
|
|
||||||
<table border="0" cellspacing="2" cellpadding="2">
|
|
||||||
<tr>
|
|
||||||
<td colspan="6" align="center" bgcolor="#c9c9c9"><b>{title_fields}<b/></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td colspan="6" align=left>
|
|
||||||
<table border="0" width="100%">
|
|
||||||
<tr>
|
|
||||||
{left}
|
|
||||||
<td align="center">{lang_showing}</td>
|
|
||||||
{right}
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align=right>
|
|
||||||
<form method="post" action="{actionurl}">
|
|
||||||
<input type="text" name="query"> <input type="submit" name="search" value="{lang_search}"></form></td>
|
|
||||||
</tr>
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td width="16%" bgcolor="{th_bg}">{sort_field}</td>
|
|
||||||
<td width="8%" bgcolor="{th_bg}" align="center">{lang_edit}</td>
|
|
||||||
<td width="8%" bgcolor="{th_bg}" align="center">{lang_delete}</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
<!-- BEGIN field_list -->
|
|
||||||
<tr bgcolor="{tr_color}">
|
|
||||||
<td>{cfield}</td>
|
|
||||||
<td align="center"><a href="{edit}">{lang_edit_entry}</a></td>
|
|
||||||
<td align="center"><a href="{delete}">{lang_delete_entry}</a></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END field_list -->
|
|
||||||
|
|
||||||
<!-- BEGIN add -->
|
|
||||||
<tr valign="bottom">
|
|
||||||
<td>
|
|
||||||
<form method="POST" action="{add_action}">
|
|
||||||
<input type="submit" name="add" value="{lang_add}"></form>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr valign="bottom">
|
|
||||||
<td>
|
|
||||||
<form method="POST" action="{doneurl}">
|
|
||||||
<input type="submit" name="done" value="{lang_done}"></form>
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<!-- END add -->
|
|
||||||
|
|
||||||
</table>
|
|
||||||
</center>
|
|
@ -1,27 +0,0 @@
|
|||||||
{errors}
|
|
||||||
{title}
|
|
||||||
<table border="0" align="center" width="70%">
|
|
||||||
<tr>
|
|
||||||
{nml}
|
|
||||||
<td width="40%">
|
|
||||||
<div align="center">
|
|
||||||
<form method="POST" action="{action_url}">
|
|
||||||
{common_hidden_vars}
|
|
||||||
<input type="text" name="query" value="{search_value}">
|
|
||||||
<input type="submit" name="search" value="{search}">
|
|
||||||
</form>
|
|
||||||
</div>
|
|
||||||
</td>
|
|
||||||
{nmr}
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<form method="POST" action="{action_url}">
|
|
||||||
<table border="0" align="center" width="50%">
|
|
||||||
{row}
|
|
||||||
</table>
|
|
||||||
{common_hidden_vars_form}
|
|
||||||
<input type="hidden" name="processed" value="{processed}">
|
|
||||||
<center><input type="submit" name="submit" value="{submit_lang}"></center>
|
|
||||||
</form>
|
|
||||||
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
<!-- $Id$ -->
|
|
||||||
<tr bgcolor="{row_color}">
|
|
||||||
<td>{user}</td>
|
|
||||||
<td align="center"><input type="checkbox" name="{read}" value="Y"{read_selected}></td>
|
|
||||||
<td align="center"><input type="checkbox" name="{edit}" value="Y"{edit_selected}></td>
|
|
||||||
<td align="center"><input type="checkbox" name="{delete}" value="Y"{delete_selected}></td>
|
|
||||||
</tr>
|
|
@ -1,6 +0,0 @@
|
|||||||
<tr bgcolor="{bg_color}">
|
|
||||||
<td>{string}</td>
|
|
||||||
<td align="center">{lang_read}</td>
|
|
||||||
<td align="center">{lang_edit}</td>
|
|
||||||
<td align="center">{lang_delete}</td>
|
|
||||||
</tr>
|
|
@ -1,143 +0,0 @@
|
|||||||
<!-- BEGIN preferences.tpl -->
|
|
||||||
<br>
|
|
||||||
<form method="POST" action="{action_url}">
|
|
||||||
<table border="0" align="center" cellspacing="1" cellpadding="1" width="98%">
|
|
||||||
<tr class="th">
|
|
||||||
<td colspan="6" align="center"><font color="#000000" face="">{lang_fields}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_on">
|
|
||||||
<td colspan="6"><font color="#000000" face="">{lang_personal}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[fn]"{fn_checked}>{fn}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[n_given]"{n_given_checked}>{n_given}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[n_family]"{n_family_checked}>{n_family}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[n_middle]"{n_middle_checked}>{n_middle}</option></td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[n_prefix]"{n_prefix_checked}>{n_prefix}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[n_suffix]"{n_suffix_checked}>{n_suffix}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[bday]"{bday_checked}>{bday}</option></td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_on">
|
|
||||||
<td colspan="6"><font color="#000000" face="">{lang_business}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[org_name]"{org_name_checked}>{org_name}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[org_unit]"{org_unit_checked}>{org_unit}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[title]"{title_checked}>{title}</option></td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[adr_one_street]"{adr_one_street_checked}>{adr_one_street}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[address2]"{address2_checked}>{address2}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[address3]"{address3_checked}>{address3}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_one_locality]"{adr_one_locality_checked}>{adr_one_locality}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_one_region]"{adr_one_region_checked}>{adr_one_region}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_one_postalcode]"{adr_one_postalcode_checked}>{adr_one_postalcode}</option></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[adr_one_countryname]"{adr_one_countryname_checked}>{adr_one_countryname}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_two_type]"{adr_one_type_checked}>{adr_one_type}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_work]"{tel_work_checked}>{tel_work}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[email]"{email_checked}>{email}</option></td>
|
|
||||||
<td colspan="2"><input type="checkbox" name="prefs[email_type]"{email_type_checked}>{email_type}</option></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_on">
|
|
||||||
<td colspan="6"><font color="#000000" face="">{lang_home}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[adr_two_street]"{adr_two_street_checked}>{adr_two_street}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_two_locality]"{adr_two_locality_checked}>{adr_two_locality}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_two_region]"{adr_two_region_checked}>{adr_two_region}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_two_postalcode]"{adr_two_postalcode_checked}>{adr_two_postalcode}</option></td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[adr_two_countryname]"{adr_two_countryname_checked}>{adr_two_countryname}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[adr_two_type]"{adr_two_type_checked}>{adr_two_type}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_home]"{tel_home_checked}>{tel_home}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[email_home]"{email_home_checked}>{email_home}</option></td>
|
|
||||||
<td colspan="2"><input type="checkbox" name="prefs[email_home_type]"{email_home_type_checked}>{email_home_type}</option></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_on">
|
|
||||||
<td colspan="6"><font color="#000000" face="">{lang_phones}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[tel_voice]"{tel_voice_checked}>{tel_voice}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_fax]"{tel_fax_checked}>{tel_fax}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_msg]"{tel_msg_checked}>{tel_msg}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_cell]"{tel_cell_checked}>{tel_cell}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_pager]"{tel_pager_checked}>{tel_pager}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_bbs]"{tel_bbs_checked}>{tel_bbs}</option></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[tel_modem]"{tel_modem_checked}>{tel_modem}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_car]"{tel_car_checked}>{tel_car}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_isdn]"{tel_isdn_checked}>{tel_isdn}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tel_video]"{tel_video_checked}>{tel_video}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[ophone]"{ophone_checked}>{ophone}</option></td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_on">
|
|
||||||
<td colspan="6"><font color="#000000" face="">{lang_other}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td><input type="checkbox" name="prefs[geo]"{geo_checked}>{geo}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[url]"{url_checked}>{url}</option></td>
|
|
||||||
<td><input type="checkbox" name="prefs[tz]"{tz_checked}>{tz}</option></td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
{custom_fields}
|
|
||||||
<tr>
|
|
||||||
<td> </td>
|
|
||||||
</tr>
|
|
||||||
<tr class="th">
|
|
||||||
<td colspan="6" align="center"><font color="#000000" face="">{lang_otherprefs}:</font></td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td>{lang_default_filter}</td>
|
|
||||||
<td>{filter_select}</td>
|
|
||||||
<td colspan="3">
|
|
||||||
<input type="checkbox" name="other[mainscreen_showbirthdays]"{show_birthday}>
|
|
||||||
{lang_showbirthday}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr class="row_off">
|
|
||||||
<td>{lang_defaultcat}</td>
|
|
||||||
<td>{cat_select}</td>
|
|
||||||
<td colspan="3">
|
|
||||||
<input type="checkbox" name="other[autosave_category]"{autosave}>
|
|
||||||
{lang_autosave}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
<tr height="40">
|
|
||||||
<td colspan="6">
|
|
||||||
<input type="submit" name="save" value="{lang_save}">
|
|
||||||
<input type="submit" name="cancel" value="{lang_cancel}">
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</form>
|
|
@ -1,33 +0,0 @@
|
|||||||
<!-- BEGIN view_header -->
|
|
||||||
<br>
|
|
||||||
<table border="0" cellspacing="2" cellpadding="2" width="70%" align="center">
|
|
||||||
<!-- END view_header -->
|
|
||||||
<!-- BEGIN view_row -->
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td align="right" width="30%"><b>{display_col}</b>:</td><td width="70%">{ref_data}</td>
|
|
||||||
</tr>
|
|
||||||
<!-- END view_row -->
|
|
||||||
{cols}
|
|
||||||
<!-- BEGIN view_footer -->
|
|
||||||
</table>
|
|
||||||
<!-- END view_footer -->
|
|
||||||
<!-- BEGIN view_buttons -->
|
|
||||||
<center>
|
|
||||||
<table border="0" cellpadding="1" cellspacing="1">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{edit_button}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{copy_button}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{vcard_button}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{done_button}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</center>
|
|
||||||
<!-- END view_buttons -->
|
|
Before Width: | Height: | Size: 3.0 KiB |
Before Width: | Height: | Size: 482 B |
Before Width: | Height: | Size: 412 B |
Before Width: | Height: | Size: 468 B |
Before Width: | Height: | Size: 382 B |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.7 KiB |
@ -1,79 +0,0 @@
|
|||||||
<!-- BEGIN addressbook_header -->
|
|
||||||
<script>
|
|
||||||
function check_all(which)
|
|
||||||
{
|
|
||||||
for (i=0; i<document.addr_index.elements.length; i++)
|
|
||||||
{
|
|
||||||
if (document.addr_index.elements[i].type == "checkbox" && document.addr_index.elements[i].name.substring(0,which.length) == which)
|
|
||||||
{
|
|
||||||
if (document.addr_index.elements[i].checked)
|
|
||||||
{
|
|
||||||
document.addr_index.elements[i].checked = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
document.addr_index.elements[i].checked = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
<div align="center">
|
|
||||||
{lang_showing}
|
|
||||||
<br>{searchreturn}
|
|
||||||
{search_filter}
|
|
||||||
<table class="calDayViewSideBoxes" width="100%" >
|
|
||||||
<tr><td>{alphalinks}</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table height=5><tr><td></td></tr></table>
|
|
||||||
<table class="calDayViewShadowBox" width="100%">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<table width="100%" class="calDayViewSideBoxes">
|
|
||||||
<form name="addr_index" action="{action_url}" method="POST">
|
|
||||||
<tr bgcolor="{th_bg}">{cols}
|
|
||||||
<td class="body">{lang_actions}
|
|
||||||
<a href="javascript:check_all('select')"><img src="{check}" border="0" height="16" width="21" alt="{select_all}"></a></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END addressbook_header -->
|
|
||||||
|
|
||||||
<!-- BEGIN column -->
|
|
||||||
<td class="body" valign="top">{col_data} </td>
|
|
||||||
<!-- END column -->
|
|
||||||
|
|
||||||
<!-- BEGIN row -->
|
|
||||||
<tr bgcolor="{row_tr_color}">{columns}
|
|
||||||
<td valign="top" nowrap>{actions}</td>
|
|
||||||
</tr>
|
|
||||||
<!-- END row -->
|
|
||||||
|
|
||||||
<!-- BEGIN delete_block -->
|
|
||||||
<tr bgcolor="{row_tr_color}"><td colspan="{column_count}"> </td>
|
|
||||||
<td align="right"><input type="submit" name="Delete" value="{lang_delete}"></td>
|
|
||||||
</tr>
|
|
||||||
<!-- END delete_block -->
|
|
||||||
|
|
||||||
<!-- BEGIN addressbook_footer -->{delete_button}
|
|
||||||
</form>
|
|
||||||
</table>
|
|
||||||
</td></tr></table>
|
|
||||||
<table border="0" cellspacing="0" cellpadding="2">
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<form action="{add_url}" method="post"><td><input type="submit" name="Add" value="{lang_add}" /></td></form>
|
|
||||||
<form action="{vcard_url}" method="post"><td><input type="submit" name="AddVcard" value="{lang_addvcard}" /></td></form>
|
|
||||||
<form action="{import_url}" method="post"><td><input type="submit" name="Import" value="{lang_import}" /></td></form>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<table border="0" cellspacing="0" cellpadding="2">
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
|
|
||||||
<form action="{import_alt_url}" method="post"><td><input type="submit" name="Import" value="{lang_import_alt}" /></td></form>
|
|
||||||
<form action="{export_url}" method="post"><td><input type="submit" name="Export" value="{lang_export}" /></td></form>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</div>
|
|
||||||
<!-- END addressbook_footer -->
|
|
||||||
|
|
||||||
<!-- BEGIN addressbook_alpha --><td bgcolor="{charbgcolor}" align="center"><a href="{charlink}"><font color="{charcolor}">{char}</a></font></td>
|
|
||||||
<!-- END addressbook_alpha -->
|
|
@ -1,54 +0,0 @@
|
|||||||
<!-- BEGIN view_header -->
|
|
||||||
<br>
|
|
||||||
<table class="calDayViewShadowBox" width="100%" align="center">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
<table class="calDayViewSideBoxes" width="100%" align="left">
|
|
||||||
<!-- END view_header -->
|
|
||||||
<!-- BEGIN view_row -->
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
<td align="right" width="30%"><b>{display_col}</b>:</td><td width="70%">{ref_data}</td>
|
|
||||||
</tr>
|
|
||||||
<!-- END view_row -->
|
|
||||||
{cols}
|
|
||||||
<!-- BEGIN view_footer -->
|
|
||||||
</table>
|
|
||||||
</td>
|
|
||||||
<td valign="top" nowrap>
|
|
||||||
|
|
||||||
<table class="calDayViewSideBoxes" width="100%"><tr><td>
|
|
||||||
<table width="100%" cellpadding=0 cellspacing=0>
|
|
||||||
<tr>
|
|
||||||
<td align="center" class="calDayView">Month Calendar</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td align="center">Feature Not Yet Available</td>
|
|
||||||
</tr>
|
|
||||||
|
|
||||||
</table>
|
|
||||||
</td></tr></table>
|
|
||||||
|
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr></table>
|
|
||||||
<!-- END view_footer -->
|
|
||||||
<!-- BEGIN view_buttons -->
|
|
||||||
<center>
|
|
||||||
<table border="0" cellpadding="1" cellspacing="1">
|
|
||||||
<tr>
|
|
||||||
<td>
|
|
||||||
{edit_button}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{copy_button}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{vcard_button}
|
|
||||||
</td>
|
|
||||||
<td>
|
|
||||||
{done_button}
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
</center>
|
|
||||||
<!-- END view_buttons -->
|
|
Before Width: | Height: | Size: 2.8 KiB |
47
admin/check_acl.php
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
<?php
|
||||||
|
/**************************************************************************\
|
||||||
|
* eGroupWare - Admin - delete ACL records of deleted accounts *
|
||||||
|
* http://www.egroupware.org *
|
||||||
|
* Written and (c) 2004 by Ralf Becker <RalfBecker@outdoor-training.de> *
|
||||||
|
* -------------------------------------------- *
|
||||||
|
* 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$ */
|
||||||
|
|
||||||
|
/**
|
||||||
|
* delete ACL records of deleted accounts (can be called only via the URL)
|
||||||
|
*
|
||||||
|
* ACL records of deleted accounts have very irritating effects on the ACL (specialy calendar)
|
||||||
|
*
|
||||||
|
* @package admin
|
||||||
|
* @author RalfBecker@outdoor-training.de
|
||||||
|
* @license GPL
|
||||||
|
*/
|
||||||
|
|
||||||
|
$GLOBALS['phpgw_info'] = array(
|
||||||
|
'flags' => array(
|
||||||
|
'currentapp' => 'admin',
|
||||||
|
));
|
||||||
|
include('../header.inc.php');
|
||||||
|
|
||||||
|
if (!$GLOBALS['phpgw_info']['user']['apps']['admin'])
|
||||||
|
{
|
||||||
|
echo '<p align="center">'.lang('Permission denied')."</p>\n";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$deleted = 0;
|
||||||
|
if (($all_accounts = $GLOBALS['phpgw']->accounts->search(array('type'=>'both'))))
|
||||||
|
{
|
||||||
|
$all_accounts = array_keys($all_accounts);
|
||||||
|
$GLOBALS['phpgw']->db->query("DELETE FROM phpgw_acl WHERE acl_account NOT IN (".implode(',',$all_accounts).") OR acl_appname='phpgw_group' AND acl_location NOT IN ('".implode("','",$all_accounts)."')",__LINE__,__FILE__);
|
||||||
|
$deleted = $GLOBALS['phpgw']->db->affected_rows();
|
||||||
|
}
|
||||||
|
echo '<p align="center">'.lang('%1 ACL records of not (longer) existing accounts deleted.',$deleted)."</p>\n";
|
||||||
|
}
|
||||||
|
$GLOBALS['phpgw']->common->phpgw_footer();
|
||||||
|
$GLOBALS['phpgw']->common->phpgw_exit();
|
@ -1,16 +0,0 @@
|
|||||||
The add-on LDAP-Manager for Admin currently manages the following configuration:
|
|
||||||
|
|
||||||
1. Postfix 2.x
|
|
||||||
2. LDAP v3
|
|
||||||
3. Courier-Imap 3.x
|
|
||||||
|
|
||||||
Example for Postfix-configuration:
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Usage of LDAP schemas:
|
|
||||||
|
|
||||||
core.schema
|
|
||||||
qmail.schema
|
|
||||||
|
|
@ -1,413 +0,0 @@
|
|||||||
#LyX 1.1 created this file. For more info see http://www.lyx.org/
|
|
||||||
\lyxformat 218
|
|
||||||
\textclass docbook
|
|
||||||
\language english
|
|
||||||
\inputencoding auto
|
|
||||||
\fontscheme default
|
|
||||||
\graphics default
|
|
||||||
\paperfontsize default
|
|
||||||
\spacing single
|
|
||||||
\papersize Default
|
|
||||||
\paperpackage a4
|
|
||||||
\use_geometry 0
|
|
||||||
\use_amsmath 0
|
|
||||||
\paperorientation portrait
|
|
||||||
\secnumdepth 3
|
|
||||||
\tocdepth 3
|
|
||||||
\paragraph_separation indent
|
|
||||||
\defskip medskip
|
|
||||||
\quotes_language english
|
|
||||||
\quotes_times 2
|
|
||||||
\papercolumns 1
|
|
||||||
\papersides 1
|
|
||||||
\paperpagestyle default
|
|
||||||
|
|
||||||
\layout Title
|
|
||||||
|
|
||||||
eGroupWare admin/config.php
|
|
||||||
\layout Abstract
|
|
||||||
|
|
||||||
A brief introduction to writing hooks and templates for any application
|
|
||||||
to use this admin interface, by
|
|
||||||
\layout Abstract
|
|
||||||
|
|
||||||
Miles Lott <milosch@groupwhere.org> Dec 22, 2001.
|
|
||||||
\layout Section
|
|
||||||
|
|
||||||
Files
|
|
||||||
\layout Subsection
|
|
||||||
|
|
||||||
config.tpl (required)
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
In your application/templates/default directory, create a new template file
|
|
||||||
named 'config.tpl'.
|
|
||||||
This will be included by config.php and used to draw the page.
|
|
||||||
This template should include a POST method form.
|
|
||||||
The following template tags may be used:
|
|
||||||
\layout Enumerate
|
|
||||||
|
|
||||||
{action_url} - A egw->link to config.php will be inserted.
|
|
||||||
\layout Enumerate
|
|
||||||
|
|
||||||
{title} - This will be parsed to display 'Site Configuration'.
|
|
||||||
\layout Enumerate
|
|
||||||
|
|
||||||
{th_bg},{th_text},{row_on},{row_off} - Replaced with the current theme colors.
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
and the following special types:
|
|
||||||
\layout Enumerate
|
|
||||||
|
|
||||||
{lang_XXX} - Filled with lang('XXX').
|
|
||||||
\layout Enumerate
|
|
||||||
|
|
||||||
{value_XXX} - Filled with the current value of config item 'XXX'.
|
|
||||||
\layout Enumerate
|
|
||||||
|
|
||||||
{selected_XXX} - set to '', or ' selected' if an option value is current.
|
|
||||||
\layout Enumerate
|
|
||||||
|
|
||||||
{hook_XXX} - Calls a function named XXX (will be discussed later).
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Following is an example from the addressbook application:
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<form method="POST" action="{action_url}">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<table border="0" align="center">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<tr bgcolor="{th_bg}">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td colspan="2"><font color="{th_text}"> <b>{title}</b></font></td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</tr> <tr bgcolor="{th_err}">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td colspan="2"> <b>{error}</b></font></td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<!-- END header -->
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<!-- BEGIN body -->
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td colspan="2"> </td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<tr bgcolor="{row_off}">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td colspan="2"> <b>{lang_Addressbook}/{lang_Contact_Settings}</b></font>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td>{lang_Contact_application}:</td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td><input name="newsettings[contact_application]" value="{value_contact_appli
|
|
||||||
cation}"></td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
...
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Note the fieldname, newsettings[contact_application].
|
|
||||||
This array name must be used for the form values.
|
|
||||||
Next, note the value setting for this form element, {value_contact_application}.
|
|
||||||
This indicates that we want the current value of the config setting, 'contact_a
|
|
||||||
pplication', to be set and displayed on the form.
|
|
||||||
Lastly, look at the template element, {lang_Contact_application}.
|
|
||||||
Here, the value from the lang db table will be inserted if available.
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Let's take a look at part of the preferences/default/config.tpl:
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<tr bgcolor="{row_on}">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td>{lang_Country_Selection} ({lang_Text_Entry}/{lang_SelectBox}):</td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
<select name="newsettings[countrylist]">
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{hook_country_set}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</select>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</td>
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
</tr>
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Here, we are adding a new element, {hook_country_set}.
|
|
||||||
This brings up the next file we will need to parse this value...
|
|
||||||
\layout Subsection
|
|
||||||
|
|
||||||
hook_config.inc.php (optional)
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
At each invocation of config.php, a call to the common class function hook_single
|
|
||||||
() is made.
|
|
||||||
It attempts to include a file, hook_config.inc.php as a set of code for config.php
|
|
||||||
to use.
|
|
||||||
In the case of the preferences example above, using hook_country_set, here
|
|
||||||
is the corresponding function in preferences/inc/hook_config.inc.php:
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
function country_set($config)
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$country = array( 'user_choice' => 'Users Choice', 'force_select' =>
|
|
||||||
'Force Selectbox' );
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
while (list ($key, $value) = each ($country))
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
if ($config['countrylist'] == $key)
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$selected = ' selected';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
else
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$selected = '';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$descr = lang($value);
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$out .= '<option value="' .
|
|
||||||
$key .
|
|
||||||
'"' .
|
|
||||||
$selected .
|
|
||||||
'>' .
|
|
||||||
$descr .
|
|
||||||
'</option>' .
|
|
||||||
"
|
|
||||||
\backslash
|
|
||||||
n";
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
return $out;
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Note again the template value we used earlier, {hook_country_set}.
|
|
||||||
This causes config.php to look for a function named country_set().
|
|
||||||
Since we included the file with this function via the hook_single() call,
|
|
||||||
this function is executed.
|
|
||||||
It's return is a string, and the function prints nothing itself.
|
|
||||||
\layout Subsection
|
|
||||||
|
|
||||||
hook_config_validate.inc.php (optional)
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Once the admin clicks the submit button to post the form, we can optionally
|
|
||||||
validate their input using one or many different functions.
|
|
||||||
This is done by first making another call to hook_single() in the API common
|
|
||||||
class.
|
|
||||||
This time, the name config_validate is used, so common tries to include
|
|
||||||
'application/inc/hook_config_validate.inc.php'.
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
If this file exists, it sets a var to tell config.php it was found.
|
|
||||||
Following then are functions named after each config we want to validate.
|
|
||||||
The following example is for addressbook:
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$GLOBALS['phpgw_info']['server']['found_validation_hook'] = True;
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
/* Check a specific setting.
|
|
||||||
Name must match the setting.
|
|
||||||
*/
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
function ldap_contact_context($value='')
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
if($value == $GLOBALS['phpgw_info']['server']['ldap_context'])
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$GLOBALS['config_error'] = 'Contact context for ldap must be
|
|
||||||
different from the context used for accounts';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
elseif($value == $GLOBALS['phpgw_info']['server']['ldap_group_context'])
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$GLOBALS['config_error'] = 'Contact context for ldap must be
|
|
||||||
different from the context used for groups';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
else
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$GLOBALS['config_error'] = '';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
Here we created a function to check the entered value for the config item,
|
|
||||||
ldap_contact_context.
|
|
||||||
We want to make sure the admin did not set this value to one which would
|
|
||||||
conflict with another config item, used for accounts or groups in eGroupWare.
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
config.php calls this function, sending it the POSTed value.
|
|
||||||
config.php continues, adding all other config items from the POSTed values.
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
The variable $GLOBALS['config_error'] is parsed through lang(), then appended
|
|
||||||
to the local variable, $error.
|
|
||||||
If this has any value after the POSTed variables are checked, the form
|
|
||||||
then has its {error} tag filled with this result.
|
|
||||||
The form is displayed again, with the error.
|
|
||||||
If $error has no value, config.php redirects to admin/index.php.
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
However, there is one more function that may be included in hook_config_validate.
|
|
||||||
inc.php:
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
/* Check all settings to validate input.
|
|
||||||
Name must be 'final_validation' */
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
function final_validation($value='')
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
if($value['contact_repository'] == 'ldap' && !$value['ldap_contact_dn'])
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$GLOBALS['config_error'] = 'Contact dn must be set';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
elseif($value['contact_repository'] == 'ldap' && !$value['ldap_contact_c
|
|
||||||
ontext'])
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$GLOBALS['config_error'] = 'Contact context must be set';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
else
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
{
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
$GLOBALS['config_error'] = '';
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Code
|
|
||||||
|
|
||||||
}
|
|
||||||
\layout Standard
|
|
||||||
|
|
||||||
config.php checks for the existence of the function 'final_validation()'.
|
|
||||||
This function can be used to check all form values at once.
|
|
||||||
It gets sent the entire $newsettings array POSTed from the form.
|
|
||||||
As with the other functions in this file, final_validation() should set
|
|
||||||
$GLOBALS['config_error'] if there is a problem.
|
|
||||||
\the_end
|
|
@ -1,526 +0,0 @@
|
|||||||
%!PS-Adobe-2.0
|
|
||||||
%%Creator: dvips(k) 5.86 Copyright 1999 Radical Eye Software
|
|
||||||
%%Title: adminconfig.dvi
|
|
||||||
%%Pages: 4
|
|
||||||
%%PageOrder: Ascend
|
|
||||||
%%BoundingBox: 0 0 612 792
|
|
||||||
%%DocumentFonts: Helvetica-Bold Times-Roman Courier Times-Italic
|
|
||||||
%%EndComments
|
|
||||||
%DVIPSWebPage: (www.radicaleye.com)
|
|
||||||
%DVIPSCommandLine: dvips -t letter -o adminconfig.ps adminconfig.dvi
|
|
||||||
%DVIPSParameters: dpi=600, compressed
|
|
||||||
%DVIPSSource: TeX output 2004.01.25:2344
|
|
||||||
%%BeginProcSet: texc.pro
|
|
||||||
%!
|
|
||||||
/TeXDict 300 dict def TeXDict begin/N{def}def/B{bind def}N/S{exch}N/X{S
|
|
||||||
N}B/A{dup}B/TR{translate}N/isls false N/vsize 11 72 mul N/hsize 8.5 72
|
|
||||||
mul N/landplus90{false}def/@rigin{isls{[0 landplus90{1 -1}{-1 1}ifelse 0
|
|
||||||
0 0]concat}if 72 Resolution div 72 VResolution div neg scale isls{
|
|
||||||
landplus90{VResolution 72 div vsize mul 0 exch}{Resolution -72 div hsize
|
|
||||||
mul 0}ifelse TR}if Resolution VResolution vsize -72 div 1 add mul TR[
|
|
||||||
matrix currentmatrix{A A round sub abs 0.00001 lt{round}if}forall round
|
|
||||||
exch round exch]setmatrix}N/@landscape{/isls true N}B/@manualfeed{
|
|
||||||
statusdict/manualfeed true put}B/@copies{/#copies X}B/FMat[1 0 0 -1 0 0]
|
|
||||||
N/FBB[0 0 0 0]N/nn 0 N/IEn 0 N/ctr 0 N/df-tail{/nn 8 dict N nn begin
|
|
||||||
/FontType 3 N/FontMatrix fntrx N/FontBBox FBB N string/base X array
|
|
||||||
/BitMaps X/BuildChar{CharBuilder}N/Encoding IEn N end A{/foo setfont}2
|
|
||||||
array copy cvx N load 0 nn put/ctr 0 N[}B/sf 0 N/df{/sf 1 N/fntrx FMat N
|
|
||||||
df-tail}B/dfs{div/sf X/fntrx[sf 0 0 sf neg 0 0]N df-tail}B/E{pop nn A
|
|
||||||
definefont setfont}B/Cw{Cd A length 5 sub get}B/Ch{Cd A length 4 sub get
|
|
||||||
}B/Cx{128 Cd A length 3 sub get sub}B/Cy{Cd A length 2 sub get 127 sub}
|
|
||||||
B/Cdx{Cd A length 1 sub get}B/Ci{Cd A type/stringtype ne{ctr get/ctr ctr
|
|
||||||
1 add N}if}B/id 0 N/rw 0 N/rc 0 N/gp 0 N/cp 0 N/G 0 N/CharBuilder{save 3
|
|
||||||
1 roll S A/base get 2 index get S/BitMaps get S get/Cd X pop/ctr 0 N Cdx
|
|
||||||
0 Cx Cy Ch sub Cx Cw add Cy setcachedevice Cw Ch true[1 0 0 -1 -.1 Cx
|
|
||||||
sub Cy .1 sub]/id Ci N/rw Cw 7 add 8 idiv string N/rc 0 N/gp 0 N/cp 0 N{
|
|
||||||
rc 0 ne{rc 1 sub/rc X rw}{G}ifelse}imagemask restore}B/G{{id gp get/gp
|
|
||||||
gp 1 add N A 18 mod S 18 idiv pl S get exec}loop}B/adv{cp add/cp X}B
|
|
||||||
/chg{rw cp id gp 4 index getinterval putinterval A gp add/gp X adv}B/nd{
|
|
||||||
/cp 0 N rw exit}B/lsh{rw cp 2 copy get A 0 eq{pop 1}{A 255 eq{pop 254}{
|
|
||||||
A A add 255 and S 1 and or}ifelse}ifelse put 1 adv}B/rsh{rw cp 2 copy
|
|
||||||
get A 0 eq{pop 128}{A 255 eq{pop 127}{A 2 idiv S 128 and or}ifelse}
|
|
||||||
ifelse put 1 adv}B/clr{rw cp 2 index string putinterval adv}B/set{rw cp
|
|
||||||
fillstr 0 4 index getinterval putinterval adv}B/fillstr 18 string 0 1 17
|
|
||||||
{2 copy 255 put pop}for N/pl[{adv 1 chg}{adv 1 chg nd}{1 add chg}{1 add
|
|
||||||
chg nd}{adv lsh}{adv lsh nd}{adv rsh}{adv rsh nd}{1 add adv}{/rc X nd}{
|
|
||||||
1 add set}{1 add clr}{adv 2 chg}{adv 2 chg nd}{pop nd}]A{bind pop}
|
|
||||||
forall N/D{/cc X A type/stringtype ne{]}if nn/base get cc ctr put nn
|
|
||||||
/BitMaps get S ctr S sf 1 ne{A A length 1 sub A 2 index S get sf div put
|
|
||||||
}if put/ctr ctr 1 add N}B/I{cc 1 add D}B/bop{userdict/bop-hook known{
|
|
||||||
bop-hook}if/SI save N @rigin 0 0 moveto/V matrix currentmatrix A 1 get A
|
|
||||||
mul exch 0 get A mul add .99 lt{/QV}{/RV}ifelse load def pop pop}N/eop{
|
|
||||||
SI restore userdict/eop-hook known{eop-hook}if showpage}N/@start{
|
|
||||||
userdict/start-hook known{start-hook}if pop/VResolution X/Resolution X
|
|
||||||
1000 div/DVImag X/IEn 256 array N 2 string 0 1 255{IEn S A 360 add 36 4
|
|
||||||
index cvrs cvn put}for pop 65781.76 div/vsize X 65781.76 div/hsize X}N
|
|
||||||
/p{show}N/RMat[1 0 0 -1 0 0]N/BDot 260 string N/Rx 0 N/Ry 0 N/V{}B/RV/v{
|
|
||||||
/Ry X/Rx X V}B statusdict begin/product where{pop false[(Display)(NeXT)
|
|
||||||
(LaserWriter 16/600)]{A length product length le{A length product exch 0
|
|
||||||
exch getinterval eq{pop true exit}if}{pop}ifelse}forall}{false}ifelse
|
|
||||||
end{{gsave TR -.1 .1 TR 1 1 scale Rx Ry false RMat{BDot}imagemask
|
|
||||||
grestore}}{{gsave TR -.1 .1 TR Rx Ry scale 1 1 false RMat{BDot}
|
|
||||||
imagemask grestore}}ifelse B/QV{gsave newpath transform round exch round
|
|
||||||
exch itransform moveto Rx 0 rlineto 0 Ry neg rlineto Rx neg 0 rlineto
|
|
||||||
fill grestore}B/a{moveto}B/delta 0 N/tail{A/delta X 0 rmoveto}B/M{S p
|
|
||||||
delta add tail}B/b{S p tail}B/c{-4 M}B/d{-3 M}B/e{-2 M}B/f{-1 M}B/g{0 M}
|
|
||||||
B/h{1 M}B/i{2 M}B/j{3 M}B/k{4 M}B/w{0 rmoveto}B/l{p -4 w}B/m{p -3 w}B/n{
|
|
||||||
p -2 w}B/o{p -1 w}B/q{p 1 w}B/r{p 2 w}B/s{p 3 w}B/t{p 4 w}B/x{0 S
|
|
||||||
rmoveto}B/y{3 2 roll p a}B/bos{/SS save N}B/eos{SS restore}B end
|
|
||||||
|
|
||||||
%%EndProcSet
|
|
||||||
%%BeginProcSet: 8r.enc
|
|
||||||
% @@psencodingfile@{
|
|
||||||
% author = "S. Rahtz, P. MacKay, Alan Jeffrey, B. Horn, K. Berry",
|
|
||||||
% version = "0.6",
|
|
||||||
% date = "22 June 1996",
|
|
||||||
% filename = "8r.enc",
|
|
||||||
% email = "kb@@mail.tug.org",
|
|
||||||
% address = "135 Center Hill Rd. // Plymouth, MA 02360",
|
|
||||||
% codetable = "ISO/ASCII",
|
|
||||||
% checksum = "119 662 4424",
|
|
||||||
% docstring = "Encoding for TrueType or Type 1 fonts to be used with TeX."
|
|
||||||
% @}
|
|
||||||
%
|
|
||||||
% Idea is to have all the characters normally included in Type 1 fonts
|
|
||||||
% available for typesetting. This is effectively the characters in Adobe
|
|
||||||
% Standard Encoding + ISO Latin 1 + extra characters from Lucida.
|
|
||||||
%
|
|
||||||
% Character code assignments were made as follows:
|
|
||||||
%
|
|
||||||
% (1) the Windows ANSI characters are almost all in their Windows ANSI
|
|
||||||
% positions, because some Windows users cannot easily reencode the
|
|
||||||
% fonts, and it makes no difference on other systems. The only Windows
|
|
||||||
% ANSI characters not available are those that make no sense for
|
|
||||||
% typesetting -- rubout (127 decimal), nobreakspace (160), softhyphen
|
|
||||||
% (173). quotesingle and grave are moved just because it's such an
|
|
||||||
% irritation not having them in TeX positions.
|
|
||||||
%
|
|
||||||
% (2) Remaining characters are assigned arbitrarily to the lower part
|
|
||||||
% of the range, avoiding 0, 10 and 13 in case we meet dumb software.
|
|
||||||
%
|
|
||||||
% (3) Y&Y Lucida Bright includes some extra text characters; in the
|
|
||||||
% hopes that other PostScript fonts, perhaps created for public
|
|
||||||
% consumption, will include them, they are included starting at 0x12.
|
|
||||||
%
|
|
||||||
% (4) Remaining positions left undefined are for use in (hopefully)
|
|
||||||
% upward-compatible revisions, if someday more characters are generally
|
|
||||||
% available.
|
|
||||||
%
|
|
||||||
% (5) hyphen appears twice for compatibility with both ASCII and Windows.
|
|
||||||
%
|
|
||||||
/TeXBase1Encoding [
|
|
||||||
% 0x00 (encoded characters from Adobe Standard not in Windows 3.1)
|
|
||||||
/.notdef /dotaccent /fi /fl
|
|
||||||
/fraction /hungarumlaut /Lslash /lslash
|
|
||||||
/ogonek /ring /.notdef
|
|
||||||
/breve /minus /.notdef
|
|
||||||
% These are the only two remaining unencoded characters, so may as
|
|
||||||
% well include them.
|
|
||||||
/Zcaron /zcaron
|
|
||||||
% 0x10
|
|
||||||
/caron /dotlessi
|
|
||||||
% (unusual TeX characters available in, e.g., Lucida Bright)
|
|
||||||
/dotlessj /ff /ffi /ffl
|
|
||||||
/.notdef /.notdef /.notdef /.notdef
|
|
||||||
/.notdef /.notdef /.notdef /.notdef
|
|
||||||
% very contentious; it's so painful not having quoteleft and quoteright
|
|
||||||
% at 96 and 145 that we move the things normally found there down to here.
|
|
||||||
/grave /quotesingle
|
|
||||||
% 0x20 (ASCII begins)
|
|
||||||
/space /exclam /quotedbl /numbersign
|
|
||||||
/dollar /percent /ampersand /quoteright
|
|
||||||
/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash
|
|
||||||
% 0x30
|
|
||||||
/zero /one /two /three /four /five /six /seven
|
|
||||||
/eight /nine /colon /semicolon /less /equal /greater /question
|
|
||||||
% 0x40
|
|
||||||
/at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O
|
|
||||||
% 0x50
|
|
||||||
/P /Q /R /S /T /U /V /W
|
|
||||||
/X /Y /Z /bracketleft /backslash /bracketright /asciicircum /underscore
|
|
||||||
% 0x60
|
|
||||||
/quoteleft /a /b /c /d /e /f /g /h /i /j /k /l /m /n /o
|
|
||||||
% 0x70
|
|
||||||
/p /q /r /s /t /u /v /w
|
|
||||||
/x /y /z /braceleft /bar /braceright /asciitilde
|
|
||||||
/.notdef % rubout; ASCII ends
|
|
||||||
% 0x80
|
|
||||||
/.notdef /.notdef /quotesinglbase /florin
|
|
||||||
/quotedblbase /ellipsis /dagger /daggerdbl
|
|
||||||
/circumflex /perthousand /Scaron /guilsinglleft
|
|
||||||
/OE /.notdef /.notdef /.notdef
|
|
||||||
% 0x90
|
|
||||||
/.notdef /.notdef /.notdef /quotedblleft
|
|
||||||
/quotedblright /bullet /endash /emdash
|
|
||||||
/tilde /trademark /scaron /guilsinglright
|
|
||||||
/oe /.notdef /.notdef /Ydieresis
|
|
||||||
% 0xA0
|
|
||||||
/.notdef % nobreakspace
|
|
||||||
/exclamdown /cent /sterling
|
|
||||||
/currency /yen /brokenbar /section
|
|
||||||
/dieresis /copyright /ordfeminine /guillemotleft
|
|
||||||
/logicalnot
|
|
||||||
/hyphen % Y&Y (also at 45); Windows' softhyphen
|
|
||||||
/registered
|
|
||||||
/macron
|
|
||||||
% 0xD0
|
|
||||||
/degree /plusminus /twosuperior /threesuperior
|
|
||||||
/acute /mu /paragraph /periodcentered
|
|
||||||
/cedilla /onesuperior /ordmasculine /guillemotright
|
|
||||||
/onequarter /onehalf /threequarters /questiondown
|
|
||||||
% 0xC0
|
|
||||||
/Agrave /Aacute /Acircumflex /Atilde /Adieresis /Aring /AE /Ccedilla
|
|
||||||
/Egrave /Eacute /Ecircumflex /Edieresis
|
|
||||||
/Igrave /Iacute /Icircumflex /Idieresis
|
|
||||||
% 0xD0
|
|
||||||
/Eth /Ntilde /Ograve /Oacute
|
|
||||||
/Ocircumflex /Otilde /Odieresis /multiply
|
|
||||||
/Oslash /Ugrave /Uacute /Ucircumflex
|
|
||||||
/Udieresis /Yacute /Thorn /germandbls
|
|
||||||
% 0xE0
|
|
||||||
/agrave /aacute /acircumflex /atilde
|
|
||||||
/adieresis /aring /ae /ccedilla
|
|
||||||
/egrave /eacute /ecircumflex /edieresis
|
|
||||||
/igrave /iacute /icircumflex /idieresis
|
|
||||||
% 0xF0
|
|
||||||
/eth /ntilde /ograve /oacute
|
|
||||||
/ocircumflex /otilde /odieresis /divide
|
|
||||||
/oslash /ugrave /uacute /ucircumflex
|
|
||||||
/udieresis /yacute /thorn /ydieresis
|
|
||||||
] def
|
|
||||||
|
|
||||||
%%EndProcSet
|
|
||||||
%%BeginProcSet: texps.pro
|
|
||||||
%!
|
|
||||||
TeXDict begin/rf{findfont dup length 1 add dict begin{1 index/FID ne 2
|
|
||||||
index/UniqueID ne and{def}{pop pop}ifelse}forall[1 index 0 6 -1 roll
|
|
||||||
exec 0 exch 5 -1 roll VResolution Resolution div mul neg 0 0]/Metrics
|
|
||||||
exch def dict begin Encoding{exch dup type/integertype ne{pop pop 1 sub
|
|
||||||
dup 0 le{pop}{[}ifelse}{FontMatrix 0 get div Metrics 0 get div def}
|
|
||||||
ifelse}forall Metrics/Metrics currentdict end def[2 index currentdict
|
|
||||||
end definefont 3 -1 roll makefont/setfont cvx]cvx def}def/ObliqueSlant{
|
|
||||||
dup sin S cos div neg}B/SlantFont{4 index mul add}def/ExtendFont{3 -1
|
|
||||||
roll mul exch}def/ReEncodeFont{CharStrings rcheck{/Encoding false def
|
|
||||||
dup[exch{dup CharStrings exch known not{pop/.notdef/Encoding true def}
|
|
||||||
if}forall Encoding{]exch pop}{cleartomark}ifelse}if/Encoding exch def}
|
|
||||||
def end
|
|
||||||
|
|
||||||
%%EndProcSet
|
|
||||||
%%BeginProcSet: special.pro
|
|
||||||
%!
|
|
||||||
TeXDict begin/SDict 200 dict N SDict begin/@SpecialDefaults{/hs 612 N
|
|
||||||
/vs 792 N/ho 0 N/vo 0 N/hsc 1 N/vsc 1 N/ang 0 N/CLIP 0 N/rwiSeen false N
|
|
||||||
/rhiSeen false N/letter{}N/note{}N/a4{}N/legal{}N}B/@scaleunit 100 N
|
|
||||||
/@hscale{@scaleunit div/hsc X}B/@vscale{@scaleunit div/vsc X}B/@hsize{
|
|
||||||
/hs X/CLIP 1 N}B/@vsize{/vs X/CLIP 1 N}B/@clip{/CLIP 2 N}B/@hoffset{/ho
|
|
||||||
X}B/@voffset{/vo X}B/@angle{/ang X}B/@rwi{10 div/rwi X/rwiSeen true N}B
|
|
||||||
/@rhi{10 div/rhi X/rhiSeen true N}B/@llx{/llx X}B/@lly{/lly X}B/@urx{
|
|
||||||
/urx X}B/@ury{/ury X}B/magscale true def end/@MacSetUp{userdict/md known
|
|
||||||
{userdict/md get type/dicttype eq{userdict begin md length 10 add md
|
|
||||||
maxlength ge{/md md dup length 20 add dict copy def}if end md begin
|
|
||||||
/letter{}N/note{}N/legal{}N/od{txpose 1 0 mtx defaultmatrix dtransform S
|
|
||||||
atan/pa X newpath clippath mark{transform{itransform moveto}}{transform{
|
|
||||||
itransform lineto}}{6 -2 roll transform 6 -2 roll transform 6 -2 roll
|
|
||||||
transform{itransform 6 2 roll itransform 6 2 roll itransform 6 2 roll
|
|
||||||
curveto}}{{closepath}}pathforall newpath counttomark array astore/gc xdf
|
|
||||||
pop ct 39 0 put 10 fz 0 fs 2 F/|______Courier fnt invertflag{PaintBlack}
|
|
||||||
if}N/txpose{pxs pys scale ppr aload pop por{noflips{pop S neg S TR pop 1
|
|
||||||
-1 scale}if xflip yflip and{pop S neg S TR 180 rotate 1 -1 scale ppr 3
|
|
||||||
get ppr 1 get neg sub neg ppr 2 get ppr 0 get neg sub neg TR}if xflip
|
|
||||||
yflip not and{pop S neg S TR pop 180 rotate ppr 3 get ppr 1 get neg sub
|
|
||||||
neg 0 TR}if yflip xflip not and{ppr 1 get neg ppr 0 get neg TR}if}{
|
|
||||||
noflips{TR pop pop 270 rotate 1 -1 scale}if xflip yflip and{TR pop pop
|
|
||||||
90 rotate 1 -1 scale ppr 3 get ppr 1 get neg sub neg ppr 2 get ppr 0 get
|
|
||||||
neg sub neg TR}if xflip yflip not and{TR pop pop 90 rotate ppr 3 get ppr
|
|
||||||
1 get neg sub neg 0 TR}if yflip xflip not and{TR pop pop 270 rotate ppr
|
|
||||||
2 get ppr 0 get neg sub neg 0 S TR}if}ifelse scaleby96{ppr aload pop 4
|
|
||||||
-1 roll add 2 div 3 1 roll add 2 div 2 copy TR .96 dup scale neg S neg S
|
|
||||||
TR}if}N/cp{pop pop showpage pm restore}N end}if}if}N/normalscale{
|
|
||||||
Resolution 72 div VResolution 72 div neg scale magscale{DVImag dup scale
|
|
||||||
}if 0 setgray}N/psfts{S 65781.76 div N}N/startTexFig{/psf$SavedState
|
|
||||||
save N userdict maxlength dict begin/magscale true def normalscale
|
|
||||||
currentpoint TR/psf$ury psfts/psf$urx psfts/psf$lly psfts/psf$llx psfts
|
|
||||||
/psf$y psfts/psf$x psfts currentpoint/psf$cy X/psf$cx X/psf$sx psf$x
|
|
||||||
psf$urx psf$llx sub div N/psf$sy psf$y psf$ury psf$lly sub div N psf$sx
|
|
||||||
psf$sy scale psf$cx psf$sx div psf$llx sub psf$cy psf$sy div psf$ury sub
|
|
||||||
TR/showpage{}N/erasepage{}N/copypage{}N/p 3 def @MacSetUp}N/doclip{
|
|
||||||
psf$llx psf$lly psf$urx psf$ury currentpoint 6 2 roll newpath 4 copy 4 2
|
|
||||||
roll moveto 6 -1 roll S lineto S lineto S lineto closepath clip newpath
|
|
||||||
moveto}N/endTexFig{end psf$SavedState restore}N/@beginspecial{SDict
|
|
||||||
begin/SpecialSave save N gsave normalscale currentpoint TR
|
|
||||||
@SpecialDefaults count/ocount X/dcount countdictstack N}N/@setspecial{
|
|
||||||
CLIP 1 eq{newpath 0 0 moveto hs 0 rlineto 0 vs rlineto hs neg 0 rlineto
|
|
||||||
closepath clip}if ho vo TR hsc vsc scale ang rotate rwiSeen{rwi urx llx
|
|
||||||
sub div rhiSeen{rhi ury lly sub div}{dup}ifelse scale llx neg lly neg TR
|
|
||||||
}{rhiSeen{rhi ury lly sub div dup scale llx neg lly neg TR}if}ifelse
|
|
||||||
CLIP 2 eq{newpath llx lly moveto urx lly lineto urx ury lineto llx ury
|
|
||||||
lineto closepath clip}if/showpage{}N/erasepage{}N/copypage{}N newpath}N
|
|
||||||
/@endspecial{count ocount sub{pop}repeat countdictstack dcount sub{end}
|
|
||||||
repeat grestore SpecialSave restore end}N/@defspecial{SDict begin}N
|
|
||||||
/@fedspecial{end}B/li{lineto}B/rl{rlineto}B/rc{rcurveto}B/np{/SaveX
|
|
||||||
currentpoint/SaveY X N 1 setlinecap newpath}N/st{stroke SaveX SaveY
|
|
||||||
moveto}N/fil{fill SaveX SaveY moveto}N/ellipse{/endangle X/startangle X
|
|
||||||
/yrad X/xrad X/savematrix matrix currentmatrix N TR xrad yrad scale 0 0
|
|
||||||
1 startangle endangle arc savematrix setmatrix}N end
|
|
||||||
|
|
||||||
%%EndProcSet
|
|
||||||
%%BeginProcSet: color.pro
|
|
||||||
%!
|
|
||||||
TeXDict begin/setcmykcolor where{pop}{/setcmykcolor{dup 10 eq{pop
|
|
||||||
setrgbcolor}{1 sub 4 1 roll 3{3 index add neg dup 0 lt{pop 0}if 3 1 roll
|
|
||||||
}repeat setrgbcolor pop}ifelse}B}ifelse/TeXcolorcmyk{setcmykcolor}def
|
|
||||||
/TeXcolorrgb{setrgbcolor}def/TeXcolorgrey{setgray}def/TeXcolorgray{
|
|
||||||
setgray}def/TeXcolorhsb{sethsbcolor}def/currentcmykcolor where{pop}{
|
|
||||||
/currentcmykcolor{currentrgbcolor 10}B}ifelse/DC{exch dup userdict exch
|
|
||||||
known{pop pop}{X}ifelse}B/GreenYellow{0.15 0 0.69 0 setcmykcolor}DC
|
|
||||||
/Yellow{0 0 1 0 setcmykcolor}DC/Goldenrod{0 0.10 0.84 0 setcmykcolor}DC
|
|
||||||
/Dandelion{0 0.29 0.84 0 setcmykcolor}DC/Apricot{0 0.32 0.52 0
|
|
||||||
setcmykcolor}DC/Peach{0 0.50 0.70 0 setcmykcolor}DC/Melon{0 0.46 0.50 0
|
|
||||||
setcmykcolor}DC/YellowOrange{0 0.42 1 0 setcmykcolor}DC/Orange{0 0.61
|
|
||||||
0.87 0 setcmykcolor}DC/BurntOrange{0 0.51 1 0 setcmykcolor}DC
|
|
||||||
/Bittersweet{0 0.75 1 0.24 setcmykcolor}DC/RedOrange{0 0.77 0.87 0
|
|
||||||
setcmykcolor}DC/Mahogany{0 0.85 0.87 0.35 setcmykcolor}DC/Maroon{0 0.87
|
|
||||||
0.68 0.32 setcmykcolor}DC/BrickRed{0 0.89 0.94 0.28 setcmykcolor}DC/Red{
|
|
||||||
0 1 1 0 setcmykcolor}DC/OrangeRed{0 1 0.50 0 setcmykcolor}DC/RubineRed{
|
|
||||||
0 1 0.13 0 setcmykcolor}DC/WildStrawberry{0 0.96 0.39 0 setcmykcolor}DC
|
|
||||||
/Salmon{0 0.53 0.38 0 setcmykcolor}DC/CarnationPink{0 0.63 0 0
|
|
||||||
setcmykcolor}DC/Magenta{0 1 0 0 setcmykcolor}DC/VioletRed{0 0.81 0 0
|
|
||||||
setcmykcolor}DC/Rhodamine{0 0.82 0 0 setcmykcolor}DC/Mulberry{0.34 0.90
|
|
||||||
0 0.02 setcmykcolor}DC/RedViolet{0.07 0.90 0 0.34 setcmykcolor}DC
|
|
||||||
/Fuchsia{0.47 0.91 0 0.08 setcmykcolor}DC/Lavender{0 0.48 0 0
|
|
||||||
setcmykcolor}DC/Thistle{0.12 0.59 0 0 setcmykcolor}DC/Orchid{0.32 0.64 0
|
|
||||||
0 setcmykcolor}DC/DarkOrchid{0.40 0.80 0.20 0 setcmykcolor}DC/Purple{
|
|
||||||
0.45 0.86 0 0 setcmykcolor}DC/Plum{0.50 1 0 0 setcmykcolor}DC/Violet{
|
|
||||||
0.79 0.88 0 0 setcmykcolor}DC/RoyalPurple{0.75 0.90 0 0 setcmykcolor}DC
|
|
||||||
/BlueViolet{0.86 0.91 0 0.04 setcmykcolor}DC/Periwinkle{0.57 0.55 0 0
|
|
||||||
setcmykcolor}DC/CadetBlue{0.62 0.57 0.23 0 setcmykcolor}DC
|
|
||||||
/CornflowerBlue{0.65 0.13 0 0 setcmykcolor}DC/MidnightBlue{0.98 0.13 0
|
|
||||||
0.43 setcmykcolor}DC/NavyBlue{0.94 0.54 0 0 setcmykcolor}DC/RoyalBlue{1
|
|
||||||
0.50 0 0 setcmykcolor}DC/Blue{1 1 0 0 setcmykcolor}DC/Cerulean{0.94 0.11
|
|
||||||
0 0 setcmykcolor}DC/Cyan{1 0 0 0 setcmykcolor}DC/ProcessBlue{0.96 0 0 0
|
|
||||||
setcmykcolor}DC/SkyBlue{0.62 0 0.12 0 setcmykcolor}DC/Turquoise{0.85 0
|
|
||||||
0.20 0 setcmykcolor}DC/TealBlue{0.86 0 0.34 0.02 setcmykcolor}DC
|
|
||||||
/Aquamarine{0.82 0 0.30 0 setcmykcolor}DC/BlueGreen{0.85 0 0.33 0
|
|
||||||
setcmykcolor}DC/Emerald{1 0 0.50 0 setcmykcolor}DC/JungleGreen{0.99 0
|
|
||||||
0.52 0 setcmykcolor}DC/SeaGreen{0.69 0 0.50 0 setcmykcolor}DC/Green{1 0
|
|
||||||
1 0 setcmykcolor}DC/ForestGreen{0.91 0 0.88 0.12 setcmykcolor}DC
|
|
||||||
/PineGreen{0.92 0 0.59 0.25 setcmykcolor}DC/LimeGreen{0.50 0 1 0
|
|
||||||
setcmykcolor}DC/YellowGreen{0.44 0 0.74 0 setcmykcolor}DC/SpringGreen{
|
|
||||||
0.26 0 0.76 0 setcmykcolor}DC/OliveGreen{0.64 0 0.95 0.40 setcmykcolor}
|
|
||||||
DC/RawSienna{0 0.72 1 0.45 setcmykcolor}DC/Sepia{0 0.83 1 0.70
|
|
||||||
setcmykcolor}DC/Brown{0 0.81 1 0.60 setcmykcolor}DC/Tan{0.14 0.42 0.56 0
|
|
||||||
setcmykcolor}DC/Gray{0 0 0 0.50 setcmykcolor}DC/Black{0 0 0 1
|
|
||||||
setcmykcolor}DC/White{0 0 0 0 setcmykcolor}DC end
|
|
||||||
|
|
||||||
%%EndProcSet
|
|
||||||
TeXDict begin 40258431 52099146 1000 600 600 (adminconfig.dvi)
|
|
||||||
@start /Fa 138[42 2[32 1[42 42 42 60 3[23 42 42 1[37
|
|
||||||
42 37 1[42 9[69 15[60 18[42 42 42 42 1[23 21 43[42 2[{
|
|
||||||
TeXBase1Encoding ReEncodeFont}22 83.022 /Times-Italic
|
|
||||||
rf /Fb 107[45 22[45 1[45 1[45 45 45 45 45 45 45 45 1[45
|
|
||||||
45 45 45 45 45 1[45 45 45 45 45 45 45 45 45 1[45 1[45
|
|
||||||
45 45 5[45 45 45 2[45 45 45 1[45 2[45 1[45 45 45 45 45
|
|
||||||
45 45 2[45 45 45 45 45 7[45 1[45 45 45 45 45 1[45 45
|
|
||||||
45 45 45 1[45 1[45 45 33[{TeXBase1Encoding ReEncodeFont}64
|
|
||||||
74.7198 /Courier rf /Fc 137[55 61 33 1[39 61 61 61 61
|
|
||||||
1[28 55 1[28 61 61 1[55 61 55 1[55 1[55 43[55 55 55 2[28
|
|
||||||
4[33 33 37[61 2[{TeXBase1Encoding ReEncodeFont}25 99.6264
|
|
||||||
/Helvetica-Bold rf /Fd 140[66 6[33 2[33 3[66 30[73 20[66
|
|
||||||
2[33 46[{TeXBase1Encoding ReEncodeFont}7 119.552 /Helvetica-Bold
|
|
||||||
rf /Fe 107[37 22[40 1[40 1[42 42 60 42 42 23 32 28 1[42
|
|
||||||
42 42 65 23 42 1[23 42 42 28 37 42 37 42 37 1[42 1[28
|
|
||||||
1[28 2[60 78 2[51 46 55 1[46 60 60 74 51 2[28 60 60 46
|
|
||||||
1[60 55 55 60 76 1[47 1[47 1[23 5[42 42 42 42 42 23 21
|
|
||||||
28 21 2[28 28 28 2[42 32[46 46 2[{TeXBase1Encoding ReEncodeFont}66
|
|
||||||
83.022 /Times-Roman rf /Ff 138[126 2[80 1[126 126 126
|
|
||||||
184 3[57 126 126 1[115 126 115 1[115 9[195 15[161 23[57
|
|
||||||
57 43[126 2[{TeXBase1Encoding ReEncodeFont}18 206.584
|
|
||||||
/Helvetica-Bold rf end
|
|
||||||
%%EndProlog
|
|
||||||
%%BeginSetup
|
|
||||||
%%Feature: *Resolution 600dpi
|
|
||||||
TeXDict begin
|
|
||||||
%%BeginPaperSize: Letter
|
|
||||||
letter
|
|
||||||
%%EndPaperSize
|
|
||||||
|
|
||||||
%%EndSetup
|
|
||||||
%%Page: 1 1
|
|
||||||
1 0 bop Black 0 TeXcolorgray Black Black 637 140 a Ff(eGr)l(oupW)-8
|
|
||||||
b(are)57 b(admin/con\002g.php)542 373 y Fe(A)20 b(brief)g(introduction)
|
|
||||||
d(to)k(writing)e(hooks)g(and)h(templates)g(for)g(an)o(y)f(application)g
|
|
||||||
(to)h(use)g(this)h(admin)542 481 y(interf)o(ace,)e(by)542
|
|
||||||
630 y(Miles)h(Lott)h(<milosch@groupwhere.or)o(g)o(>)15
|
|
||||||
b(Dec)20 b(22,)g(2001.)-2 1298 y Fd(1.)34 b(Files)396
|
|
||||||
1586 y Fc(1.1.)28 b(con\002g.tpl)f(\(required\))396 1743
|
|
||||||
y Fe(In)20 b(your)f(application/templates/def)o(ault)e(directory)-5
|
|
||||||
b(,)18 b(create)i(a)g(ne)n(w)g(template)g(\002le)h(named)e
|
|
||||||
('con\002g.tpl'.)f(This)i(will)396 1851 y(be)g(included)f(by)h
|
|
||||||
(con\002g.php)d(and)j(used)g(to)g(dra)o(w)g(the)g(page.)f(This)i
|
|
||||||
(template)e(should)h(include)f(a)h(POST)h(method)396
|
|
||||||
1959 y(form.)e(The)h(follo)n(wing)f(template)g(tags)i(may)e(be)i(used:)
|
|
||||||
p Black 463 2192 a(1.)p Black 40 w({action_url})e(-)h(A)h(e)o(gw->link)
|
|
||||||
d(to)i(con\002g.php)e(will)j(be)f(inserted.)p Black 463
|
|
||||||
2341 a(2.)p Black 40 w({title})h(-)f(This)h(will)g(be)f(parsed)f(to)i
|
|
||||||
(display)e('Site)i(Con\002guration'.)p Black 463 2491
|
|
||||||
a(3.)p Black 40 w({th_bg},{th_te)o(xt},{ro)n(w_on)o(},{r)o(o)n(w_)o(of)
|
|
||||||
m(f})15 b(-)20 b(Replaced)g(with)g(the)g(current)f(theme)h(colors.)396
|
|
||||||
2640 y(and)g(the)g(follo)n(wing)f(special)h(types:)p
|
|
||||||
Black 463 2873 a(1.)p Black 40 w({lang_XXX})f(-)i(Filled)f(with)h
|
|
||||||
(lang\('XXX'\).)p Black 463 3022 a(2.)p Black 40 w({v)n(alue_XXX})e(-)h
|
|
||||||
(Filled)h(with)f(the)g(current)f(v)n(alue)h(of)g(con\002g)f(item)h
|
|
||||||
('XXX'.)p Black 463 3171 a(3.)p Black 40 w({selected_XXX})g(-)g(set)h
|
|
||||||
(to)f(\224,)h(or)f(')g(selected')g(if)g(an)h(option)d(v)n(alue)i(is)h
|
|
||||||
(current.)p Black 463 3321 a(4.)p Black 40 w({hook_XXX})d(-)j(Calls)g
|
|
||||||
(a)g(function)d(named)h(XXX)i(\(will)f(be)h(discussed)f(later\).)396
|
|
||||||
3470 y(F)o(ollo)n(wing)f(is)i(an)f(e)o(xample)f(from)g(the)h
|
|
||||||
(addressbook)e(application:)396 3650 y Fb(<form)44 b(method="POST")f
|
|
||||||
(action="{action_url}">)396 3748 y(<table)h(border="0")f
|
|
||||||
(align="center">)441 3845 y(<tr)h(bgcolor="{th_bg}">)486
|
|
||||||
3942 y(<td)g(colspan="2"><font)e
|
|
||||||
(color="{th_text}"> <b>{title}</b></f)o(ont><)o(/td>)441
|
|
||||||
4039 y(</tr>)i(<tr)g(bgcolor="{th_err}">)486 4136 y(<td)g
|
|
||||||
(colspan="2"> <b>{error}</b></font></)o(td>)441
|
|
||||||
4233 y(</tr>)396 4330 y(<!--)g(END)h(header)f(-->)396
|
|
||||||
4428 y(<!--)g(BEGIN)g(body)h(-->)441 4525 y(<tr)f(bgcolor="{row_on}">)
|
|
||||||
486 4622 y(<td)g(colspan="2"> </td>)441 4719 y(</tr>)441
|
|
||||||
4816 y(<tr)g(bgcolor="{row_off}">)486 4913 y(<td)g
|
|
||||||
(colspan="2"> <b>{lang_Addressbook}/{)o(lang_C)o(ontact)o(_Setti)o
|
|
||||||
(ngs}<)o(/b></f)o(ont>)396 5010 y(</td>)441 5108 y(</tr>)p
|
|
||||||
Black 3842 5569 a Fa(1)p Black eop
|
|
||||||
%%Page: 2 2
|
|
||||||
2 1 bop Black 0 TeXcolorgray Black 2866 -132 a Fa(eGr)l(oupW)-8
|
|
||||||
b(ar)m(e)20 b(admin/con\002g)o(.php)p Black 441 72 a
|
|
||||||
Fb(<tr)44 b(bgcolor="{row_on}">)486 170 y
|
|
||||||
(<td>{lang_Contact_application}:</td>)486 267 y(<td><input)f
|
|
||||||
(name="newsettings[contact_application]")38 b
|
|
||||||
(value="{value_contact_application}"></td>)441 364 y(</tr>)396
|
|
||||||
461 y(...)396 749 y Fe(Note)20 b(the)h(\002eldname,)e(ne)n
|
|
||||||
(wsettings[contact_application].)c(This)20 b(array)f(name)h(must)g(be)g
|
|
||||||
(used)g(for)g(the)g(form)f(v)n(alues.)396 857 y(Ne)o(xt,)h(note)g(the)g
|
|
||||||
(v)n(alue)f(setting)i(for)e(this)i(form)e(element,)g({v)n
|
|
||||||
(alue_contact_application}.)c(This)20 b(indicates)g(that)h(we)396
|
|
||||||
965 y(w)o(ant)g(the)f(current)f(v)n(alue)g(of)h(the)g(con\002g)g
|
|
||||||
(setting,)g('contact_application',)c(to)k(be)g(set)h(and)f(displayed)f
|
|
||||||
(on)g(the)i(form.)396 1073 y(Lastly)-5 b(,)20 b(look)f(at)i(the)f
|
|
||||||
(template)g(element,)f({lang_Contact_application}.)d(Here,)j(the)i(v)n
|
|
||||||
(alue)e(from)g(the)i(lang)e(db)h(table)396 1181 y(will)h(be)f(inserted)
|
|
||||||
g(if)g(a)n(v)n(ailable.)396 1330 y(Let')-5 b(s)21 b(tak)o(e)f(a)h(look)
|
|
||||||
e(at)i(part)f(of)g(the)g(preferences/def)o(ault/con\002g.tpl:)441
|
|
||||||
1510 y Fb(<tr)44 b(bgcolor="{row_on}">)486 1608 y
|
|
||||||
(<td>{lang_Country_Selection})c
|
|
||||||
(\({lang_Text_Entry}/{lang_SelectBox}\):</)o(td>)486
|
|
||||||
1705 y(<td>)531 1802 y(<select)j(name="newsettings[countrylist]">)396
|
|
||||||
1899 y({hook_country_set})531 1996 y(</select>)486 2093
|
|
||||||
y(</td>)441 2190 y(</tr>)396 2478 y Fe(Here,)20 b(we)h(are)f(adding)f
|
|
||||||
(a)h(ne)n(w)g(element,)f({hook_country_set}.)d(This)k(brings)f(up)h
|
|
||||||
(the)g(ne)o(xt)g(\002le)h(we)f(will)h(need)f(to)396 2586
|
|
||||||
y(parse)g(this)h(v)n(alue...)396 2923 y Fc(1.2.)28 b
|
|
||||||
(hook_con\002g.inc.php)f(\(optional\))396 3081 y Fe(At)21
|
|
||||||
b(each)f(in)m(v)n(ocation)e(of)i(con\002g.php,)d(a)k(call)g(to)f(the)g
|
|
||||||
(common)f(class)i(function)d(hook_single\(\))f(is)k(made.)f(It)g
|
|
||||||
(attempts)396 3189 y(to)h(include)e(a)h(\002le,)h
|
|
||||||
(hook_con\002g.inc.php)14 b(as)21 b(a)g(set)g(of)f(code)f(for)h
|
|
||||||
(con\002g.php)d(to)k(use.)f(In)g(the)g(case)h(of)f(the)g(preferences)
|
|
||||||
396 3297 y(e)o(xample)f(abo)o(v)o(e,)f(using)i(hook_country_set,)15
|
|
||||||
b(here)20 b(is)h(the)f(corresponding)d(function)i(in)396
|
|
||||||
3405 y(preferences/inc/hook_con\002g.)o(inc.p)o(hp)o(:)396
|
|
||||||
3585 y Fb(function)44 b(country_set\($config\))396 3682
|
|
||||||
y({)576 3779 y($country)f(=)i(array\()f('user_choice')e(=>)j('Users)f
|
|
||||||
(Choice',)f('force_select')f(=>)j('Force)f(Selectbox')f(\);)576
|
|
||||||
3877 y(while)h(\(list)g(\($key,)f($value\))h(=)h(each)f(\($country\)\))
|
|
||||||
576 3974 y({)755 4071 y(if)g(\($config['countrylist'])d(==)k($key\))755
|
|
||||||
4168 y({)934 4265 y($selected)f(=)g(')h(selected';)755
|
|
||||||
4362 y(})755 4459 y(else)755 4556 y({)934 4654 y($selected)f(=)g(\224;)
|
|
||||||
755 4751 y(})755 4848 y($descr)g(=)g(lang\($value\);)755
|
|
||||||
4945 y($out)g(.=)h('<option)e(value="')h(.)g($key)g(.)h('"')f(.)h
|
|
||||||
($selected)e(.)i('>')f(.)h($descr)f(.)g('</option>')f(.)i("\\n";)576
|
|
||||||
5042 y(})576 5139 y(return)e($out;)p Black 3842 5569
|
|
||||||
a Fa(2)p Black eop
|
|
||||||
%%Page: 3 3
|
|
||||||
3 2 bop Black 0 TeXcolorgray Black 2866 -132 a Fa(eGr)l(oupW)-8
|
|
||||||
b(ar)m(e)20 b(admin/con\002g)o(.php)p Black 396 72 a
|
|
||||||
Fb(})396 361 y Fe(Note)g(again)g(the)g(template)f(v)n(alue)h(we)h(used)
|
|
||||||
e(earlier)m(,)h({hook_country_set}.)15 b(This)20 b(causes)h
|
|
||||||
(con\002g.php)c(to)k(look)e(for)h(a)396 468 y(function)f(named)g
|
|
||||||
(country_set\(\).)e(Since)j(we)h(included)d(the)j(\002le)g(with)f(this)
|
|
||||||
h(function)d(via)i(the)g(hook_single\(\))d(call,)396
|
|
||||||
576 y(this)k(function)d(is)k(e)o(x)o(ecuted.)c(It')-5
|
|
||||||
b(s)21 b(return)e(is)i(a)f(string,)g(and)g(the)g(function)e(prints)i
|
|
||||||
(nothing)f(itself.)396 913 y Fc(1.3.)28 b(hook_con\002g_v)n(alidate)r
|
|
||||||
(.inc.php)g(\(optional\))396 1071 y Fe(Once)20 b(the)g(admin)g(clicks)g
|
|
||||||
(the)g(submit)g(b)n(utton)f(to)i(post)f(the)g(form,)f(we)i(can)f
|
|
||||||
(optionally)e(v)n(alidate)i(their)g(input)f(using)396
|
|
||||||
1179 y(one)h(or)g(man)o(y)f(dif)n(ferent)f(functions.)h(This)h(is)h
|
|
||||||
(done)e(by)h(\002rst)h(making)e(another)g(call)h(to)h(hook_single\(\))c
|
|
||||||
(in)j(the)g(API)396 1287 y(common)f(class.)h(This)h(time,)f(the)g(name)
|
|
||||||
g(con\002g_v)n(alidate)d(is)k(used,)f(so)h(common)d(tries)j(to)f
|
|
||||||
(include)396 1395 y('application/inc/hook_con\002g_)o(v)n(a)o
|
|
||||||
(lidate.in)o(c.p)o(hp)o('.)396 1544 y(If)g(this)h(\002le)g(e)o(xists,)f
|
|
||||||
(it)h(sets)g(a)g(v)n(ar)f(to)g(tell)h(con\002g.php)d(it)i(w)o(as)i
|
|
||||||
(found.)c(F)o(ollo)n(wing)h(then)g(are)h(functions)f(named)g(after)396
|
|
||||||
1652 y(each)h(con\002g)f(we)i(w)o(ant)f(to)h(v)n(alidate.)e(The)h
|
|
||||||
(follo)n(wing)e(e)o(xample)h(is)i(for)f(addressbook:)576
|
|
||||||
1833 y Fb($GLOBALS['phpgw_info']['server']['fou)o(nd_val)o(idatio)o
|
|
||||||
(n_hook)o('])39 b(=)45 b(True;)576 1930 y(/*)f(Check)g(a)h(specific)e
|
|
||||||
(setting.)h(Name)g(must)g(match)g(the)g(setting.)g(*/)576
|
|
||||||
2027 y(function)f(ldap_contact_context\($value=\224\))576
|
|
||||||
2124 y({)755 2221 y(if\($value)g(==)i
|
|
||||||
($GLOBALS['phpgw_info']['server']['ldap)o(_conte)o(xt']\))755
|
|
||||||
2318 y({)934 2415 y($GLOBALS['config_error'])c(=)k('Contact)e(context)h
|
|
||||||
(for)g(ldap)g(must)g(be)h(different)e(from)h(the)h(context)e(used)i
|
|
||||||
(for)f(accounts';)755 2512 y(})755 2610 y(elseif\($value)f(==)h
|
|
||||||
($GLOBALS['phpgw_info']['server']['ldap_g)o(roup_)o(contex)o(t']\))755
|
|
||||||
2707 y({)934 2804 y($GLOBALS['config_error'])d(=)k('Contact)e(context)h
|
|
||||||
(for)g(ldap)g(must)g(be)h(different)e(from)h(the)h(context)e(used)i
|
|
||||||
(for)f(groups';)755 2901 y(})755 2998 y(else)755 3095
|
|
||||||
y({)934 3192 y($GLOBALS['config_error'])d(=)k(\224;)755
|
|
||||||
3290 y(})576 3387 y(})396 3675 y Fe(Here)20 b(we)f(created)g(a)h
|
|
||||||
(function)e(to)i(check)e(the)i(entered)e(v)n(alue)h(for)g(the)g
|
|
||||||
(con\002g)g(item,)g(ldap_contact_conte)o(xt.)c(W)-7 b(e)21
|
|
||||||
b(w)o(ant)396 3783 y(to)g(mak)o(e)e(sure)h(the)h(admin)e(did)h(not)g
|
|
||||||
(set)h(this)f(v)n(alue)g(to)g(one)g(which)g(w)o(ould)f(con\003ict)h
|
|
||||||
(with)g(another)f(con\002g)g(item,)h(used)396 3891 y(for)g(accounts)f
|
|
||||||
(or)h(groups)f(in)h(eGroupW)-7 b(are.)396 4040 y(con\002g.php)18
|
|
||||||
b(calls)j(this)g(function,)d(sending)h(it)i(the)f(POST)-6
|
|
||||||
b(ed)20 b(v)n(alue.)f(con\002g.php)f(continues,)h(adding)g(all)h(other)
|
|
||||||
g(con\002g)396 4148 y(items)h(from)e(the)h(POST)-6 b(ed)21
|
|
||||||
b(v)n(alues.)396 4297 y(The)f(v)n(ariable)f($GLOB)m
|
|
||||||
(ALS['con\002g_error'])c(is)21 b(parsed)f(through)e(lang\(\),)h(then)g
|
|
||||||
(appended)f(to)j(the)f(local)g(v)n(ariable,)396 4405
|
|
||||||
y($error)-5 b(.)19 b(If)h(this)h(has)f(an)o(y)g(v)n(alue)f(after)h(the)
|
|
||||||
g(POST)-6 b(ed)20 b(v)n(ariables)g(are)g(check)o(ed,)f(the)h(form)f
|
|
||||||
(then)h(has)g(its)h({error})e(tag)396 4513 y(\002lled)i(with)f(this)h
|
|
||||||
(result.)f(The)g(form)f(is)i(displayed)e(again,)g(with)h(the)g(error)-5
|
|
||||||
b(.)20 b(If)g($error)e(has)j(no)e(v)n(alue,)h(con\002g.php)396
|
|
||||||
4621 y(redirects)g(to)g(admin/inde)o(x.php.)396 4771
|
|
||||||
y(Ho)n(we)n(v)o(er)m(,)e(there)i(is)h(one)f(more)f(function)g(that)h
|
|
||||||
(may)g(be)g(included)e(in)j(hook_con\002g_v)n(alidate.inc)o(.ph)o(p:)
|
|
||||||
576 4951 y Fb(/*)44 b(Check)g(all)g(settings)g(to)g(validate)g(input.)g
|
|
||||||
(Name)g(must)g(be)h('final_validation')c(*/)576 5048
|
|
||||||
y(function)i(final_validation\($value=\224\))576 5145
|
|
||||||
y({)p Black 3842 5569 a Fa(3)p Black eop
|
|
||||||
%%Page: 4 4
|
|
||||||
4 3 bop Black 0 TeXcolorgray Black 2866 -132 a Fa(eGr)l(oupW)-8
|
|
||||||
b(ar)m(e)20 b(admin/con\002g)o(.php)p Black 755 72 a
|
|
||||||
Fb(if\($value['contact_repository'])40 b(==)k('ldap')g(&&)g
|
|
||||||
(!$value['ldap_contact_dn']\))755 170 y({)934 267 y
|
|
||||||
($GLOBALS['config_error'])d(=)k('Contact)e(dn)i(must)f(be)g(set';)755
|
|
||||||
364 y(})755 461 y(elseif\($value['contact_repository'])39
|
|
||||||
b(==)44 b('ldap')g(&&)h(!$value['ldap_contact_context']\))755
|
|
||||||
558 y({)934 655 y($GLOBALS['config_error'])c(=)k('Contact)e(context)h
|
|
||||||
(must)g(be)h(set';)755 752 y(})755 850 y(else)755 947
|
|
||||||
y({)934 1044 y($GLOBALS['config_error'])c(=)k(\224;)755
|
|
||||||
1141 y(})576 1238 y(})396 1526 y Fe(con\002g.php)18 b(checks)i(for)f
|
|
||||||
(the)h(e)o(xistence)g(of)g(the)g(function)e('\002nal_v)n
|
|
||||||
(alidation\(\)'.)f(This)j(function)e(can)i(be)g(used)g(to)396
|
|
||||||
1634 y(check)g(all)g(form)g(v)n(alues)f(at)i(once.)e(It)i(gets)f(sent)h
|
|
||||||
(the)f(entire)g($ne)n(wsettings)f(array)g(POST)-6 b(ed)21
|
|
||||||
b(from)e(the)h(form.)f(As)i(with)396 1742 y(the)f(other)g(functions)f
|
|
||||||
(in)h(this)h(\002le,)f(\002nal_v)n(alidation\(\))d(should)j(set)h
|
|
||||||
($GLOB)m(ALS['con\002g_error'])15 b(if)20 b(there)g(is)h(a)396
|
|
||||||
1850 y(problem.)p Black 3842 5569 a Fa(4)p Black eop
|
|
||||||
%%Trailer
|
|
||||||
end
|
|
||||||
userdict /end-hook known{end-hook}if
|
|
||||||
%%EOF
|
|
@ -1,216 +0,0 @@
|
|||||||
<!doctype article public "-//OASIS//DTD DocBook V3.1//EN">
|
|
||||||
|
|
||||||
<article lang="en">
|
|
||||||
<!-- DocBook file was created by LyX 1.1
|
|
||||||
See http://www.lyx.org/ for more information -->
|
|
||||||
<artheader>
|
|
||||||
<title>
|
|
||||||
eGroupWare admin/config.php
|
|
||||||
</title>
|
|
||||||
<abstract>
|
|
||||||
<para>
|
|
||||||
A brief introduction to writing hooks and templates for any application to use this admin interface, by
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Miles Lott <milosch@groupwhere.org> Dec 22, 2001.
|
|
||||||
</para>
|
|
||||||
</abstract>
|
|
||||||
</artheader>
|
|
||||||
<sect1>
|
|
||||||
<title>
|
|
||||||
Files
|
|
||||||
</title>
|
|
||||||
<sect2>
|
|
||||||
<title>
|
|
||||||
config.tpl (required)
|
|
||||||
</title>
|
|
||||||
<para>
|
|
||||||
In your application/templates/default directory, create a new template file named 'config.tpl'. This will be included by config.php and used to draw the page. This template should include a POST method form. The following template tags may be used:
|
|
||||||
</para>
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
{action_url} - A egw->link to config.php will be inserted.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
{title} - This will be parsed to display 'Site Configuration'.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
{th_bg},{th_text},{row_on},{row_off} - Replaced with the current theme colors.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
<para>
|
|
||||||
and the following special types:
|
|
||||||
</para>
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
{lang_XXX} - Filled with lang('XXX').
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
{value_XXX} - Filled with the current value of config item 'XXX'.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
{selected_XXX} - set to '', or ' selected' if an option value is current.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>
|
|
||||||
{hook_XXX} - Calls a function named XXX (will be discussed later).
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
<para>
|
|
||||||
Following is an example from the addressbook application:
|
|
||||||
</para>
|
|
||||||
<programlisting>
|
|
||||||
<![ CDATA [<form method="POST" action="{action_url}">
|
|
||||||
]]><![ CDATA [<table border="0" align="center">
|
|
||||||
]]><![ CDATA [ <tr bgcolor="{th_bg}">
|
|
||||||
]]><![ CDATA [ <td colspan="2"><font color="{th_text}"> <b>{title}</b></font></td>
|
|
||||||
]]><![ CDATA [ </tr> <tr bgcolor="{th_err}">
|
|
||||||
]]><![ CDATA [ <td colspan="2"> <b>{error}</b></font></td>
|
|
||||||
]]><![ CDATA [ </tr>
|
|
||||||
]]><![ CDATA [<!-- END header -->
|
|
||||||
]]><![ CDATA [<!-- BEGIN body -->
|
|
||||||
]]><![ CDATA [ <tr bgcolor="{row_on}">
|
|
||||||
]]><![ CDATA [ <td colspan="2"> </td>
|
|
||||||
]]><![ CDATA [ </tr>
|
|
||||||
]]><![ CDATA [ <tr bgcolor="{row_off}">
|
|
||||||
]]><![ CDATA [ <td colspan="2"> <b>{lang_Addressbook}/{lang_Contact_Settings}</b></font>
|
|
||||||
]]><![ CDATA [</td>
|
|
||||||
]]><![ CDATA [ </tr>
|
|
||||||
]]><![ CDATA [ <tr bgcolor="{row_on}">
|
|
||||||
]]><![ CDATA [ <td>{lang_Contact_application}:</td>
|
|
||||||
]]><![ CDATA [ <td><input name="newsettings[contact_application]" value="{value_contact_application}"></td>
|
|
||||||
]]><![ CDATA [ </tr>
|
|
||||||
]]><![ CDATA [...
|
|
||||||
]]> </programlisting>
|
|
||||||
<para>
|
|
||||||
Note the fieldname, newsettings[contact_application]. This array name must be used for the form values. Next, note the value setting for this form element, {value_contact_application}. This indicates that we want the current value of the config setting, 'contact_application', to be set and displayed on the form. Lastly, look at the template element, {lang_Contact_application}. Here, the value from the lang db table will be inserted if available.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
Let's take a look at part of the preferences/default/config.tpl:
|
|
||||||
</para>
|
|
||||||
<programlisting>
|
|
||||||
<![ CDATA [ <tr bgcolor="{row_on}">
|
|
||||||
]]><![ CDATA [ <td>{lang_Country_Selection} ({lang_Text_Entry}/{lang_SelectBox}):</td>
|
|
||||||
]]><![ CDATA [ <td>
|
|
||||||
]]><![ CDATA [ <select name="newsettings[countrylist]">
|
|
||||||
]]><![ CDATA [{hook_country_set}
|
|
||||||
]]><![ CDATA [ </select>
|
|
||||||
]]><![ CDATA [ </td>
|
|
||||||
]]><![ CDATA [ </tr>
|
|
||||||
]]> </programlisting>
|
|
||||||
<para>
|
|
||||||
Here, we are adding a new element, {hook_country_set}. This brings up the next file we will need to parse this value...
|
|
||||||
</para>
|
|
||||||
</sect2>
|
|
||||||
<sect2>
|
|
||||||
<title>
|
|
||||||
hook_config.inc.php (optional)
|
|
||||||
</title>
|
|
||||||
<para>
|
|
||||||
At each invocation of config.php, a call to the common class function hook_single() is made. It attempts to include a file, hook_config.inc.php as a set of code for config.php to use. In the case of the preferences example above, using hook_country_set, here is the corresponding function in preferences/inc/hook_config.inc.php:
|
|
||||||
</para>
|
|
||||||
<programlisting>
|
|
||||||
<![ CDATA [function country_set($config)
|
|
||||||
]]><![ CDATA [{
|
|
||||||
]]><![ CDATA [ $country = array( 'user_choice' => 'Users Choice', 'force_select' => 'Force Selectbox' );
|
|
||||||
]]><![ CDATA [ while (list ($key, $value) = each ($country))
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ if ($config['countrylist'] == $key)
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $selected = ' selected';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ else
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $selected = '';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ $descr = lang($value);
|
|
||||||
]]><![ CDATA [ $out .= '<option value="' . $key . '"' . $selected . '>' . $descr . '</option>' . "\n";
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ return $out;
|
|
||||||
]]><![ CDATA [}
|
|
||||||
]]> </programlisting>
|
|
||||||
<para>
|
|
||||||
Note again the template value we used earlier, {hook_country_set}. This causes config.php to look for a function named country_set(). Since we included the file with this function via the hook_single() call, this function is executed. It's return is a string, and the function prints nothing itself.
|
|
||||||
</para>
|
|
||||||
</sect2>
|
|
||||||
<sect2>
|
|
||||||
<title>
|
|
||||||
hook_config_validate.inc.php (optional)
|
|
||||||
</title>
|
|
||||||
<para>
|
|
||||||
Once the admin clicks the submit button to post the form, we can optionally validate their input using one or many different functions. This is done by first making another call to hook_single() in the API common class. This time, the name config_validate is used, so common tries to include 'application/inc/hook_config_validate.inc.php'.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
If this file exists, it sets a var to tell config.php it was found. Following then are functions named after each config we want to validate. The following example is for addressbook:
|
|
||||||
</para>
|
|
||||||
<programlisting>
|
|
||||||
<![ CDATA [ $GLOBALS['phpgw_info']['server']['found_validation_hook'] = True;
|
|
||||||
]]><![ CDATA [
|
|
||||||
]]><![ CDATA [ /* Check a specific setting. Name must match the setting. */
|
|
||||||
]]><![ CDATA [ function ldap_contact_context($value='')
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ if($value == $GLOBALS['phpgw_info']['server']['ldap_context'])
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $GLOBALS['config_error'] = 'Contact context for ldap must be different from the context used for accounts';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ elseif($value == $GLOBALS['phpgw_info']['server']['ldap_group_context'])
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $GLOBALS['config_error'] = 'Contact context for ldap must be different from the context used for groups';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ else
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $GLOBALS['config_error'] = '';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]> </programlisting>
|
|
||||||
<para>
|
|
||||||
Here we created a function to check the entered value for the config item, ldap_contact_context. We want to make sure the admin did not set this value to one which would conflict with another config item, used for accounts or groups in eGroupWare.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
config.php calls this function, sending it the POSTed value. config.php continues, adding all other config items from the POSTed values.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
The variable $GLOBALS['config_error'] is parsed through lang(), then appended to the local variable, $error. If this has any value after the POSTed variables are checked, the form then has its {error} tag filled with this result. The form is displayed again, with the error. If $error has no value, config.php redirects to admin/index.php.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
However, there is one more function that may be included in hook_config_validate.inc.php:
|
|
||||||
</para>
|
|
||||||
<programlisting>
|
|
||||||
<![ CDATA [ /* Check all settings to validate input. Name must be 'final_validation' */
|
|
||||||
]]><![ CDATA [ function final_validation($value='')
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ if($value['contact_repository'] == 'ldap' && !$value['ldap_contact_dn'])
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $GLOBALS['config_error'] = 'Contact dn must be set';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ elseif($value['contact_repository'] == 'ldap' && !$value['ldap_contact_context'])
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $GLOBALS['config_error'] = 'Contact context must be set';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ else
|
|
||||||
]]><![ CDATA [ {
|
|
||||||
]]><![ CDATA [ $GLOBALS['config_error'] = '';
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]><![ CDATA [ }
|
|
||||||
]]> </programlisting>
|
|
||||||
<para>
|
|
||||||
config.php checks for the existence of the function 'final_validation()'. This function can be used to check all form values at once. It gets sent the entire $newsettings array POSTed from the form. As with the other functions in this file, final_validation() should set $GLOBALS['config_error'] if there is a problem.
|
|
||||||
</para>
|
|
||||||
</sect2>
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
|
|
||||||
</article>
|
|