Changeset 1150
- Timestamp:
- 05/13/08 00:22:38
(4 months ago)
- Author:
- rats
- Message:
* Fixed #1244: Use of uninitialized value in concatenation - in file engine/ispcp-htuser-mngr
* Fixed #1209: Undefined index: mail_type_forward
* Fixed #1243: adding mail aborts
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r1148 |
r1150 |
|
| 5 | 5 | - ENGINE: |
|---|
| 6 | 6 | * Fixed #1244: Use of uninitialized value in concatenation - in file engine/ispcp-htuser-mngr |
|---|
| | 7 | - GUI: |
|---|
| | 8 | * Fixed #1209: Undefined index: mail_type_forward |
|---|
| | 9 | * Fixed #1243: adding mail aborts |
|---|
| 7 | 10 | - LANGUAGES: |
|---|
| 8 | 11 | * Updated German |
|---|
| r1149 |
r1150 |
|
| 48 | 48 | push_el(\@main::el, 'htuser_mngr_start_up()', 'Starting...'); |
|---|
| 49 | 49 | |
|---|
| 50 | | # checking for master process; |
|---|
| 51 | | |
|---|
| 52 | | # $rs = check_master(); |
|---|
| 53 | | # |
|---|
| 54 | | # return $rs if ($rs != 0); |
|---|
| 55 | | |
|---|
| 56 | 50 | # Let's clear Execution Logs, if any. |
|---|
| 57 | 51 | |
|---|
| … | … | |
| 77 | 71 | |
|---|
| 78 | 72 | my $sql = " |
|---|
| 79 | | SELECT |
|---|
| 80 | | domain_id, |
|---|
| 81 | | domain_name, |
|---|
| 82 | | domain_gid, |
|---|
| 83 | | domain_uid, |
|---|
| 84 | | domain_admin_id, |
|---|
| 85 | | domain_created_id, |
|---|
| 86 | | domain_created, |
|---|
| 87 | | domain_last_modified, |
|---|
| 88 | | domain_mailacc_limit, |
|---|
| 89 | | domain_ftpacc_limit, |
|---|
| 90 | | domain_traffic_limit, |
|---|
| 91 | | domain_sqld_limit, |
|---|
| 92 | | domain_sqlu_limit, |
|---|
| 93 | | domain_status, |
|---|
| 94 | | domain_alias_limit, |
|---|
| 95 | | domain_subd_limit, |
|---|
| 96 | | domain_ip_id, |
|---|
| 97 | | domain_disk_limit, |
|---|
| 98 | | domain_disk_usage, |
|---|
| 99 | | domain_php, |
|---|
| 100 | | domain_cgi |
|---|
| 101 | | FROM |
|---|
| 102 | | domain |
|---|
| 103 | | LIMIT 0,1"; |
|---|
| | 73 | SELECT |
|---|
| | 74 | domain_id, |
|---|
| | 75 | domain_name, |
|---|
| | 76 | domain_gid, |
|---|
| | 77 | domain_uid, |
|---|
| | 78 | domain_admin_id, |
|---|
| | 79 | domain_created_id, |
|---|
| | 80 | domain_created, |
|---|
| | 81 | domain_last_modified, |
|---|
| | 82 | domain_mailacc_limit, |
|---|
| | 83 | domain_ftpacc_limit, |
|---|
| | 84 | domain_traffic_limit, |
|---|
| | 85 | domain_sqld_limit, |
|---|
| | 86 | domain_sqlu_limit, |
|---|
| | 87 | domain_status, |
|---|
| | 88 | domain_alias_limit, |
|---|
| | 89 | domain_subd_limit, |
|---|
| | 90 | domain_ip_id, |
|---|
| | 91 | domain_disk_limit, |
|---|
| | 92 | domain_disk_usage, |
|---|
| | 93 | domain_php, |
|---|
| | 94 | domain_cgi |
|---|
| | 95 | FROM |
|---|
| | 96 | domain |
|---|
| | 97 | LIMIT 0,1"; |
|---|
| 104 | 98 | |
|---|
| 105 | 99 | ($rs, $rdata) = doSQL($sql); |
|---|
| … | … | |
| 160 | 154 | |
|---|
| 161 | 155 | $htaccess_users_content .= $line if ($line !~ /^$uname:/); |
|---|
| 162 | | |
|---|
| 163 | | |
|---|
| 164 | 156 | } |
|---|
| 165 | 157 | |
|---|
| … | … | |
| 209 | 201 | |
|---|
| 210 | 202 | $htaccess_users_content .= $line if ($line !~ /^$uname:/); |
|---|
| 211 | | |
|---|
| 212 | 203 | |
|---|
| 213 | 204 | } |
|---|
| … | … | |
| 409 | 400 | |
|---|
| 410 | 401 | my ($dmn_id, $dmn_name, $user_ids, $auth_type, $auth_name, $path, $status, $domain_uid, $domain_gid) = |
|---|
| 411 | | |
|---|
| 412 | | (@$htuser_data[0], |
|---|
| 413 | | @$htuser_data[1], |
|---|
| 414 | | @$htuser_data[2], |
|---|
| 415 | | @$htuser_data[3], |
|---|
| 416 | | @$htuser_data[4], |
|---|
| 417 | | @$htuser_data[5], |
|---|
| 418 | | @$htuser_data[6], |
|---|
| 419 | | @$htuser_data[7], |
|---|
| 420 | | @$htuser_data[8]); |
|---|
| | 402 | (@$htuser_data[0], @$htuser_data[1], @$htuser_data[2], @$htuser_data[3], @$htuser_data[4], |
|---|
| | 403 | @$htuser_data[5], @$htuser_data[6], @$htuser_data[7], @$htuser_data[8]); |
|---|
| 421 | 404 | |
|---|
| 422 | 405 | my $apache_www_dir = $main::cfg{'APACHE_WWW_DIR'}; |
|---|
| … | … | |
| 529 | 512 | |
|---|
| 530 | 513 | my ($dmn_id, $dmn_name, $user_ids, $auth_type, $auth_name, $path, $status, $domain_uid, $domain_gid) = |
|---|
| 531 | | |
|---|
| 532 | | (@$htuser_data[0], |
|---|
| 533 | | @$htuser_data[1], |
|---|
| 534 | | @$htuser_data[2], |
|---|
| 535 | | @$htuser_data[3], |
|---|
| 536 | | @$htuser_data[4], |
|---|
| 537 | | @$htuser_data[5], |
|---|
| 538 | | @$htuser_data[6], |
|---|
| 539 | | @$htuser_data[7], |
|---|
| 540 | | @$htuser_data[8]); |
|---|
| | 514 | (@$htuser_data[0], @$htuser_data[1], @$htuser_data[2], @$htuser_data[3], @$htuser_data[4], |
|---|
| | 515 | @$htuser_data[5], @$htuser_data[6], @$htuser_data[7], @$htuser_data[8]); |
|---|
| 541 | 516 | |
|---|
| 542 | 517 | my $apache_www_dir = $main::cfg{'APACHE_WWW_DIR'}; |
|---|
| … | … | |
| 645 | 620 | } |
|---|
| 646 | 621 | |
|---|
| 647 | | my ($dmn_id, |
|---|
| 648 | | $dmn_name, |
|---|
| 649 | | $group_ids, |
|---|
| 650 | | $auth_type, |
|---|
| 651 | | $auth_name, |
|---|
| 652 | | $path, |
|---|
| 653 | | $status, |
|---|
| 654 | | $domain_uid, |
|---|
| 655 | | $domain_gid) = (@$htuser_data[0], |
|---|
| 656 | | @$htuser_data[1], |
|---|
| 657 | | @$htuser_data[2], |
|---|
| 658 | | @$htuser_data[3], |
|---|
| 659 | | @$htuser_data[4], |
|---|
| 660 | | @$htuser_data[5], |
|---|
| 661 | | @$htuser_data[6], |
|---|
| 662 | | @$htuser_data[7], |
|---|
| 663 | | @$htuser_data[8]); |
|---|
| | 622 | my ($dmn_id, $dmn_name, $group_ids, $auth_type, $auth_name, $path, $status, $domain_uid, $domain_gid) = |
|---|
| | 623 | (@$htuser_data[0], @$htuser_data[1], @$htuser_data[2], @$htuser_data[3], @$htuser_data[4], |
|---|
| | 624 | @$htuser_data[5], @$htuser_data[6], @$htuser_data[7], @$htuser_data[8]); |
|---|
| 664 | 625 | |
|---|
| 665 | 626 | my $ugroups = ''; |
|---|
| … | … | |
| 746 | 707 | |
|---|
| 747 | 708 | my ($dmn_id, $dmn_name, $group_ids, $auth_type, $auth_name, $path, $status, $domain_uid, $domain_gid) = |
|---|
| 748 | | |
|---|
| 749 | | (@$htuser_data[0], |
|---|
| 750 | | @$htuser_data[1], |
|---|
| 751 | | @$htuser_data[2], |
|---|
| 752 | | @$htuser_data[3], |
|---|
| 753 | | @$htuser_data[4], |
|---|
| 754 | | @$htuser_data[5], |
|---|
| 755 | | @$htuser_data[6], |
|---|
| 756 | | @$htuser_data[7], |
|---|
| 757 | | @$htuser_data[8]); |
|---|
| | 709 | (@$htuser_data[0], @$htuser_data[1], @$htuser_data[2], @$htuser_data[3], @$htuser_data[4], |
|---|
| | 710 | @$htuser_data[5], @$htuser_data[6], @$htuser_data[7], @$htuser_data[8]); |
|---|
| 758 | 711 | |
|---|
| 759 | 712 | my $htaccess_users_file_name = $main::cfg{'HTACCESS_USERS_FILE_NAME'}; |
|---|
| … | … | |
| 899 | 852 | my $id = $main::htuser_task_id; |
|---|
| 900 | 853 | my $sql = " |
|---|
| 901 | | SELECT |
|---|
| | 854 | SELECT |
|---|
| 902 | 855 | t1.dmn_id, |
|---|
| 903 | 856 | t2.domain_name, |
|---|
| … | … | |
| 1144 | 1097 | # see if user or group data has changed (password - change ?) first the users |
|---|
| 1145 | 1098 | |
|---|
| 1146 | | my $sql_id = "select t1.dmn_id,t2.domain_name from htaccess as t1,domain as t2 where t1.id = $main::htuser_task_id and t1.dmn_id = t2.domain_id"; |
|---|
| 1147 | | |
|---|
| 1148 | | ($rs, $rdata) = doSQL($sql_id); |
|---|
| 1149 | | |
|---|
| 1150 | | my $htaccess_data = @$rdata[0]; |
|---|
| 1151 | | |
|---|
| 1152 | | $sql = " |
|---|
| | 1099 | my $sql_id = " |
|---|
| | 1100 | SELECT |
|---|
| | 1101 | t1.dmn_id,t2.domain_name |
|---|
| | 1102 | FROM |
|---|
| | 1103 | htaccess AS t1,domain AS t2 |
|---|
| | 1104 | WHERE |
|---|
| | 1105 | t1.id = $main::htuser_task_id |
|---|
| | 1106 | AND |
|---|
| | 1107 | t1.dmn_id = t2.domain_id;"; |
|---|
| | 1108 | |
|---|
| | 1109 | ($rs, $rdata) = doSQL($sql_id); |
|---|
| | 1110 | |
|---|
| | 1111 | my $htaccess_data = @$rdata[0]; |
|---|
| | 1112 | |
|---|
| | 1113 | $sql = " |
|---|
| 1153 | 1114 | SELECT |
|---|
| 1154 | 1115 | uname, upass, dmn_id, status, id |
|---|
| … | … | |
| 1160 | 1121 | status != 'ok';"; |
|---|
| 1161 | 1122 | |
|---|
| 1162 | | ($rs, $rows) = doSQL($sql); |
|---|
| 1163 | | |
|---|
| 1164 | | if (scalar(@$rows) != 0) { |
|---|
| 1165 | | |
|---|
| 1166 | | foreach (@$rows) { |
|---|
| 1167 | | |
|---|
| 1168 | | push_el(\@main::el, 'htuser-usermanagement()', 'Starting...'); |
|---|
| 1169 | | |
|---|
| 1170 | | my $query_user = $_; |
|---|
| 1171 | | |
|---|
| 1172 | | my ($htpasswd_name, |
|---|
| 1173 | | $htpasswd_pass, |
|---|
| 1174 | | $htpasswd_dnm, |
|---|
| 1175 | | $htpasswd_status) = (@$query_user[0], |
|---|
| 1176 | | @$query_user[1], |
|---|
| 1177 | | @$htaccess_data[1], |
|---|
| 1178 | | @$query_user[3]); |
|---|
| 1179 | | |
|---|
| 1180 | | push_el(\@main::el, 'htuser-usermanagement()', 'TASK : '.$htpasswd_status.' user : '.$htpasswd_name); |
|---|
| 1181 | | |
|---|
| 1182 | | if ($htpasswd_status eq 'change') { |
|---|
| 1183 | | |
|---|
| 1184 | | push_el(\@main::el, 'htuser-usermanagement()', 'Change User ID : '.@$query_user[0].'...'); |
|---|
| 1185 | | |
|---|
| 1186 | | $rs = htuser_del_user_data($htpasswd_dnm, $htpasswd_name); |
|---|
| 1187 | | return $rs if ($rs != 0); |
|---|
| 1188 | | |
|---|
| 1189 | | $rs = htuser_add_user_data($htpasswd_dnm, $htpasswd_name, $htpasswd_pass); |
|---|
| 1190 | | return $rs if ($rs != 0); |
|---|
| 1191 | | |
|---|
| 1192 | | $sql = "UPDATE htaccess_users SET status = 'ok' WHERE id = '".@$query_user[4]."';"; |
|---|
| 1193 | | |
|---|
| 1194 | | } elsif ($htpasswd_status eq 'delete') { |
|---|
| 1195 | | |
|---|
| 1196 | | push_el(\@main::el, 'htuser-usermanagement()', 'Delete User ID : '.@$query_user[0].'...'); |
|---|
| 1197 | | |
|---|
| 1198 | | $rs = htuser_del_user_data($htpasswd_dnm, $htpasswd_name); |
|---|
| 1199 | | return $rs if ($rs != 0); |
|---|
| 1200 | | |
|---|
| 1201 | | $sql = "DELETE FROM htaccess_users WHERE id = '".@$query_user[4]."';"; |
|---|
| 1202 | | |
|---|
| 1203 | | } elsif ($htpasswd_status eq 'toadd') { |
|---|
| 1204 | | |
|---|
| 1205 | | push_el(\@main::el, 'htuser-usermanagement()', 'Add User ID : '.@$query_user[0].'...'); |
|---|
| 1206 | | |
|---|
| 1207 | | $rs = htuser_add_user_data($htpasswd_dnm, $htpasswd_name, $htpasswd_pass); |
|---|
| 1208 | | return $rs if ($rs != 0); |
|---|
| 1209 | | |
|---|
| 1210 | | $sql = "UPDATE htaccess_users SET status = 'ok' WHERE id = '".@$query_user[4]."';"; |
|---|
| 1211 | | |
|---|
| 1212 | | } elsif ($htpasswd_status eq 'ok') { |
|---|
| 1213 | | ## TODO: ? |
|---|
| 1214 | | |
|---|
| 1215 | | } else { |
|---|
| 1216 | | |
|---|
| 1217 | | push_el(\@main::el, 'htuser-usermanagement()', 'Failure modifying user in Domain '.$htpasswd_dnm.' : '.$htpasswd_name); |
|---|
| 1218 | | |
|---|
| 1219 | | $sql = "UPDATE htaccess_users SET status='failure' WHERE id = '".@$query_user[4]."';"; |
|---|
| 1220 | | |
|---|
| 1221 | | } |
|---|
| 1222 | | |
|---|
| 1223 | | ($rs, $rdata) = doSQL($sql); |
|---|
| 1224 | | |
|---|
| 1225 | | return $rs if ($rs != 0); |
|---|
| 1226 | | } |
|---|
| 1227 | | |
|---|
| 1228 | | push_el(\@main::el, 'htuser-usermanagement()', 'Ending...'); |
|---|
| 1229 | | } |
|---|
| | 1123 | ($rs, $rows) = doSQL($sql); |
|---|
| | 1124 | |
|---|
| | 1125 | if (scalar(@$rows) != 0) { |
|---|
| | 1126 | |
|---|
| | 1127 | foreach (@$rows) { |
|---|
| | 1128 | |
|---|
| | 1129 | push_el(\@main::el, 'htuser-usermanagement()', 'Starting...'); |
|---|
| | 1130 | |
|---|
| | 1131 | my $query_user = $_; |
|---|
| | 1132 | |
|---|
| | 1133 | my ($htpasswd_name, $htpasswd_pass, $htpasswd_dnm, $htpasswd_status) = |
|---|
| | 1134 | (@$query_user[0], @$query_user[1], @$htaccess_data[1], @$query_user[3]); |
|---|
| | 1135 | |
|---|
| | 1136 | push_el(\@main::el, 'htuser-usermanagement()', 'TASK : '.$htpasswd_status.' user : '.$htpasswd_name); |
|---|
| | 1137 | |
|---|
| | 1138 | if ($htpasswd_status eq 'change') { |
|---|
| | 1139 | |
|---|
| | 1140 | push_el(\@main::el, 'htuser-usermanagement()', 'Change User ID : '.@$query_user[0].'...'); |
|---|
| | 1141 | |
|---|
| | 1142 | $rs = htuser_del_user_data($htpasswd_dnm, $htpasswd_name); |
|---|
| | 1143 | return $rs if ($rs != 0); |
|---|
| | 1144 | |
|---|
| | 1145 | $rs = htuser_add_user_data($htpasswd_dnm, $htpasswd_name, $htpasswd_pass); |
|---|
| | 1146 | return $rs if ($rs != 0); |
|---|
| | 1147 | |
|---|
| | 1148 | $sql = "UPDATE htaccess_users SET status = 'ok' WHERE id = '".@$query_user[4]."';"; |
|---|
| | 1149 | |
|---|
| | 1150 | } elsif ($htpasswd_status eq 'delete') { |
|---|
| | 1151 | |
|---|
| | 1152 | push_el(\@main::el, 'htuser-usermanagement()', 'Delete User ID : '.@$query_user[0].'...'); |
|---|
| | 1153 | |
|---|
| | 1154 | $rs = htuser_del_user_data($htpasswd_dnm, $htpasswd_name); |
|---|
| | 1155 | return $rs if ($rs != 0); |
|---|
| | 1156 | |
|---|
| | 1157 | $sql = "DELETE FROM htaccess_users WHERE id = '".@$query_user[4]."';"; |
|---|
| | 1158 | |
|---|
| | 1159 | } elsif ($htpasswd_status eq 'toadd') { |
|---|
| | 1160 | |
|---|
| | 1161 | push_el(\@main::el, 'htuser-usermanagement()', 'Add User ID : '.@$query_user[0].'...'); |
|---|
| | 1162 | |
|---|
| | 1163 | $rs = htuser_add_user_data($htpasswd_dnm, $htpasswd_name, $htpasswd_pass); |
|---|
| | 1164 | return $rs if ($rs != 0); |
|---|
| | 1165 | |
|---|
| | 1166 | $sql = "UPDATE htaccess_users SET status = 'ok' WHERE id = '".@$query_user[4]."';"; |
|---|
| | 1167 | |
|---|
| | 1168 | } elsif ($htpasswd_status eq 'ok') { |
|---|
| | 1169 | ## TODO: ? |
|---|
| | 1170 | |
|---|
| | 1171 | } else { |
|---|
| | 1172 | |
|---|
| | 1173 | push_el(\@main::el, 'htuser-usermanagement()', 'Failure modifying user in Domain '.$htpasswd_dnm.' : '.$htpasswd_name); |
|---|
| | 1174 | |
|---|
| | 1175 | $sql = "UPDATE htaccess_users SET status='failure' WHERE id = '".@$query_user[4]."';"; |
|---|
| | 1176 | |
|---|
| | 1177 | } |
|---|
| | 1178 | |
|---|
| | 1179 | ($rs, $rdata) = doSQL($sql); |
|---|
| | 1180 | |
|---|
| | 1181 | return $rs if ($rs != 0); |
|---|
| | 1182 | } |
|---|
| | 1183 | |
|---|
| | 1184 | push_el(\@main::el, 'htuser-usermanagement()', 'Ending...'); |
|---|
| | 1185 | } |
|---|
| 1230 | 1186 | |
|---|
| 1231 | 1187 | # now the groups follow |
|---|
| 1232 | | my $sql_gid = "select t1.dmn_id,t2.domain_name from htaccess as t1,domain as t2 where t1.id = $main::htuser_task_id and t1.dmn_id = t2.domain_id"; |
|---|
| 1233 | | |
|---|
| 1234 | | ($rs, $rdata) = doSQL($sql_gid); |
|---|
| 1235 | | |
|---|
| 1236 | | my $htgroup_data = @$rdata[0]; |
|---|
| 1237 | | |
|---|
| 1238 | | #are there any changes we have to follow ? |
|---|
| 1239 | | $sql = "select ugroup, members, status, id from htaccess_groups where dmn_id = '".@$htgroup_data[0]."' and status != 'ok' "; |
|---|
| 1240 | | |
|---|
| 1241 | | ($rs, $rows) = doSQL($sql); |
|---|
| 1242 | | |
|---|
| 1243 | | if (scalar(@$rows) != 0) { |
|---|
| 1244 | | |
|---|
| 1245 | | #there are changes so we like to renew our entire group-information |
|---|
| 1246 | | #and reset our groupsfile |
|---|
| 1247 | | |
|---|
| 1248 | | my $sql2 = "select ugroup, members, status, id from htaccess_groups where dmn_id = '@$htgroup_data[0]'"; |
|---|
| 1249 | | |
|---|
| 1250 | | ($rs, $rows) = doSQL($sql2); |
|---|
| 1251 | | |
|---|
| 1252 | | push_el(\@main::el, 'htuser-groupmanagement()', 'Starting...'); |
|---|
| 1253 | | |
|---|
| 1254 | | |
|---|
| 1255 | | my $htaccess_groups_file_name = $main::cfg{'HTACCESS_GROUPS_FILE_NAME'}; |
|---|
| 1256 | | |
|---|
| 1257 | | my $apache_www_dir = $main::cfg{'APACHE_WWW_DIR'}; |
|---|
| 1258 | | |
|---|
| 1259 | | my $htaccess_groups_file = "$apache_www_dir/@$htgroup_data[1]/$htaccess_groups_file_name"; |
|---|
| 1260 | | |
|---|
| 1261 | | $rs = del_file($htaccess_groups_file); |
|---|
| 1262 | | |
|---|
| 1263 | | |
|---|
| 1264 | | foreach (@$rows) { |
|---|
| 1265 | | |
|---|
| 1266 | | my $query_group = $_; |
|---|
| 1267 | | my ($htgroup_name, |
|---|
| 1268 | | $htgroup_members, |
|---|
| 1269 | | $htgroup_dnm, |
|---|
| 1270 | | $htgroup_status) = (@$query_group[0], |
|---|
| 1271 | | @$query_group[1], |
|---|
| 1272 | | @$htgroup_data[1], |
|---|
| 1273 | | @$query_group[2]); |
|---|
| 1274 | | |
|---|
| 1275 | | push_el(\@main::el, 'htuser-groupmanagement()', 'Working on '.$htgroup_name); |
|---|
| 1276 | | |
|---|
| 1277 | | if ($htgroup_status eq 'change' || $htgroup_status eq 'toadd' || $htgroup_status eq 'ok') { |
|---|
| 1278 | | |
|---|
| 1279 | | # only choice atm -> build the group again. |
|---|
| 1280 | | # reset the old groupfile |
|---|
| 1281 | | |
|---|
| 1282 | | |
|---|
| 1283 | | |
|---|
| 1284 | | foreach (split(',', $htgroup_members)) { |
|---|
| 1285 | | |
|---|
| 1286 | | my $id = $_; |
|---|
| 1287 | | |
|---|
| 1288 | | $sql = "select uname from htaccess_users where id = $id"; |
|---|
| 1289 | | |
|---|
| 1290 | | ($rs, $rdata) = doSQL($sql); |
|---|
| 1291 | | |
|---|
| 1292 | | return $rs if ($rs != 0); |
|---|
| 1293 | | |
|---|
| 1294 | | $rdata = @$rdata[0]; |
|---|
| 1295 | | |
|---|
| 1296 | | my ($uname) = (@$rdata[0]); |
|---|
| 1297 | | |
|---|
| 1298 | | $rs = htuser_add_group_data($htgroup_dnm, $htgroup_name, $uname); |
|---|
| 1299 | | |
|---|
| 1300 | | return $rs if ($rs != 0); |
|---|
| 1301 | | |
|---|
| 1302 | | } |
|---|
| 1303 | | |
|---|
| 1304 | | push_el(\@main::el, 'htuser-usermanagement()', 'Edit Group ID : '.@$query_group[0].'...'); |
|---|
| 1305 | | |
|---|
| 1306 | | $sql = "update htaccess_groups set status='ok' where id = @$query_group[3]"; |
|---|
| 1307 | | |
|---|
| 1308 | | } elsif ($htgroup_status eq 'delete') { |
|---|
| 1309 | | #since we build our file again and delete status is handled apart groups with status 'delete' will get |
|---|
| 1310 | | #get deleted... |
|---|
| 1311 | | |
|---|
| 1312 | | $sql = "delete from htaccess_groups where id = @$query_group[3]"; |
|---|
| 1313 | | |
|---|
| 1314 | | push_el(\@main::el, 'htuser-usermanagement()', 'Delete Group ID : '.@$query_group[0].'...'); |
|---|
| 1315 | | |
|---|
| 1316 | | } else { |
|---|
| 1317 | | |
|---|
| 1318 | | push_el(\@main::el, 'htuser-groupmanagement()', 'Failure modifying group in Domain $htpasswd_dnm : $htpasswd_name'); |
|---|
| 1319 | | $sql = "update htaccess_group set status='failure' where id = @$query_group[3]"; |
|---|
| 1320 | | |
|---|
| 1321 | | } |
|---|
| 1322 | | |
|---|
| 1323 | | ($rs, $rdata) = doSQL($sql); |
|---|
| 1324 | | |
|---|
| 1325 | | return $rs if ($rs != 0); |
|---|
| 1326 | | |
|---|
| 1327 | | } |
|---|
| 1328 | | push_el(\@main::el, 'htuser-usermanagement()', 'Ending...'); |
|---|
| | 1188 | my $sql_gid = "select t1.dmn_id,t2.domain_name from htaccess as t1,domain as t2 where t1.id = $main::htuser_task_id and t1.dmn_id = t2.domain_id"; |
|---|
| | 1189 | |
|---|
| | 1190 | ($rs, $rdata) = doSQL($sql_gid); |
|---|
| | 1191 | |
|---|
| | 1192 | my $htgroup_data = @$rdata[0]; |
|---|
| | 1193 | |
|---|
| | 1194 | #are there any changes we have to follow ? |
|---|
| | 1195 | $sql = "select ugroup, members, status, id from htaccess_groups where dmn_id = '".@$htgroup_data[0]."' and status != 'ok' "; |
|---|
| | 1196 | |
|---|
| | 1197 | ($rs, $rows) = doSQL($sql); |
|---|
| | 1198 | |
|---|
| | 1199 | if (scalar(@$rows) != 0) { |
|---|
| | 1200 | |
|---|
| | 1201 | #there are changes so we like to renew our entire group-information and reset our groupsfile |
|---|
| | 1202 | my $sql2 = "select ugroup, members, status, id from htaccess_groups where dmn_id = '@$htgroup_data[0]'"; |
|---|
| | 1203 | |
|---|
| | 1204 | ($rs, $rows) = doSQL($sql2); |
|---|
| | 1205 | |
|---|
| | 1206 | push_el(\@main::el, 'htuser-groupmanagement()', 'Starting...'); |
|---|
| | 1207 | |
|---|
| | 1208 | my $htaccess_groups_file_name = $main::cfg{'HTACCESS_GROUPS_FILE_NAME'}; |
|---|
| | 1209 | |
|---|
| | 1210 | my $apache_www_dir = $main::cfg{'APACHE_WWW_DIR'}; |
|---|
| | 1211 | |
|---|
| | 1212 | my $htaccess_groups_file = "$apache_www_dir/@$htgroup_data[1]/$htaccess_groups_file_name"; |
|---|
| | 1213 | |
|---|
| | 1214 | $rs = del_file($htaccess_groups_file); |
|---|
| | 1215 | |
|---|
| | 1216 | foreach (@$rows) { |
|---|
| | 1217 | |
|---|
| | 1218 | my $query_group = $_; |
|---|
| | 1219 | my ($htgroup_name, $htgroup_members, $htgroup_dnm, $htgroup_status) = |
|---|
| | 1220 | (@$query_group[0], @$query_group[1], @$htgroup_data[1], @$query_group[2]); |
|---|
| | 1221 | |
|---|
| | 1222 | push_el(\@main::el, 'htuser-groupmanagement()', 'Working on '.$htgroup_name); |
|---|
| | 1223 | |
|---|
| | 1224 | if ($htgroup_status eq 'change' || $htgroup_status eq 'toadd' || $htgroup_status eq 'ok') { |
|---|
| | 1225 | |
|---|
| | 1226 | # only choice atm -> build the group again. Reset the old groupfile |
|---|
| | 1227 | foreach (split(',', $htgroup_members)) { |
|---|
| | 1228 | |
|---|
| | 1229 | my $id = $_; |
|---|
| | 1230 | |
|---|
| | 1231 | $sql = "select uname from htaccess_users where id = $id"; |
|---|
| | 1232 | |
|---|
| | 1233 | ($rs, $rdata) = doSQL($sql); |
|---|
| | 1234 | |
|---|
| | 1235 | return $rs if ($rs != 0); |
|---|
| | 1236 | |
|---|
| | 1237 | $rdata = @$rdata[0]; |
|---|
| | 1238 | |
|---|
| | 1239 | my ($uname) = (@$rdata[0]); |
|---|
| | 1240 | |
|---|
| | 1241 | $rs = htuser_add_group_data($htgroup_dnm, $htgroup_name, $uname); |
|---|
| | 1242 | |
|---|
| | 1243 | return $rs if ($rs != 0); |
|---|
| | 1244 | |
|---|
| 1329 | 1245 | } |
|---|
| 1330 | 1246 | |
|---|
| | 1247 | push_el(\@main::el, 'htuser-usermanagement()', 'Edit Group ID : '.@$query_group[0].'...'); |
|---|
| | 1248 | |
|---|
| | 1249 | $sql = "update htaccess_groups set status='ok' where id = @$query_group[3]"; |
|---|
| | 1250 | |
|---|
| | 1251 | } elsif ($htgroup_status eq 'delete') { |
|---|
| | 1252 | # since we build our file again and delete status is handled apart groups with status |
|---|
| | 1253 | # 'delete' will get deleted... |
|---|
| | 1254 | |
|---|
| | 1255 | $sql = "delete from htaccess_groups where id = @$query_group[3]"; |
|---|
| | 1256 | |
|---|
| | 1257 | push_el(\@main::el, 'htuser-usermanagement()', 'Delete Group ID : '.@$query_group[0].'...'); |
|---|
| | 1258 | |
|---|
| | 1259 | } else { |
|---|
| | 1260 | |
|---|
| | 1261 | push_el(\@main::el, 'htuser-groupmanagement()', 'Failure modifying group in Domain $htpasswd_dnm : $htpasswd_name'); |
|---|
| | 1262 | |
|---|
| | 1263 | $sql = "update htaccess_group set status='failure' where id = @$query_group[3]"; |
|---|
| | 1264 | |
|---|
| | 1265 | } |
|---|
| | 1266 | |
|---|
| | 1267 | ($rs, $rdata) = doSQL($sql); |
|---|
| | 1268 | |
|---|
| | 1269 | return $rs if ($rs != 0); |
|---|
| | 1270 | |
|---|
| | 1271 | } |
|---|
| | 1272 | |
|---|
| | 1273 | push_el(\@main::el, 'htuser-usermanagement()', 'Ending...'); |
|---|
| | 1274 | } |
|---|
| | 1275 | |
|---|
| 1331 | 1276 | sleep(1); |
|---|
| 1332 | 1277 | |
|---|
| r1147 |
r1150 |
|
| 270 | 270 | } |
|---|
| 271 | 271 | |
|---|
| 272 | | if ($_POST['mail_type_forward']) { |
|---|
| | 272 | if (isset($_POST['mail_type_forward'])) { |
|---|
| 273 | 273 | if ($_POST['dmn_type'] === 'dmn') { |
|---|
| 274 | 274 | $mail_type[] = 'normal_forward'; |
|---|
| … | … | |
| 372 | 372 | $mail_type_normal = isset($_POST['mail_type_normal']) ? $_POST['mail_type_normal'] : false; |
|---|
| 373 | 373 | $mail_type_forward = isset($_POST['mail_type_forward']) ? $_POST['mail_type_forward'] : false; |
|---|
| 374 | | |
|---|
| | 374 | |
|---|
| | 375 | if (($mail_type_normal == false) && ($mail_type_forward == false)) { |
|---|
| | 376 | set_page_message(tr('Please select at least one mail type!')); |
|---|
| | 377 | return; |
|---|
| | 378 | } |
|---|
| | 379 | |
|---|
| 375 | 380 | if ($mail_type_normal) { |
|---|
| 376 | 381 | $pass = escapeshellcmd($_POST['pass']); |
|---|
| r1142 |
r1150 |
|
| 1 | | # translation of ispCP.po to Català |
|---|
| | 1 | # translation of ispCP.po to Catalan |
|---|
| 2 | 2 | # Copyright (C) YEAR ispCP Team |
|---|
| 3 | 3 | # This file is distributed under the same license as the PACKAGE package. |
|---|
| … | … | |
| 9 | 9 | "Report-Msgid-Bugs-To: \n" |
|---|
| 10 | 10 | "POT-Creation-Date: 2008-03-01 18:49+0100\n" |
|---|
| 11 | | "PO-Revision-Date: 2008-05-10 00:21+0200\n" |
|---|
| | 11 | "PO-Revision-Date: 2008-05-12 23:09+0200\n" |
|---|
| 12 | 12 | "Last-Translator: Joan Juvanteny <jjuvan@grn.cat>\n" |
|---|
| 13 | | "Language-Team: Català <ca@li.org>\n" |
|---|
| | 13 | "Language-Team: Catalan <ca@li.org>\n" |
|---|
| 14 | 14 | "MIME-Version: 1.0\n" |
|---|
| 15 | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
|---|
| … | … | |
| 88 | 88 | |
|---|
| 89 | 89 | msgid "ispCP - Admin/Manage users/Add User" |
|---|
| 90 | | msgstr "ispCP - Gestionar usuari/Afegir usuari" |
|---|
| | 90 | msgstr "ispCP - Gestionar usuaris/Afegir usuari" |
|---|
| 91 | 91 | |
|---|
| 92 | 92 | msgid "Administrator" |
|---|
| … | … | |
| 175 | 175 | |
|---|
| 176 | 176 | msgid "ispCP - Admin/Manage users/Add reseller" |
|---|
| 177 | | msgstr "" |
|---|
| | 177 | msgstr "ispCP - Gestionar usuaris/Afegir distribuidor" |
|---|
| 178 | 178 | |
|---|
| 179 | 179 | msgid "Reseller IP list is empty!" |
|---|
| 180 | | msgstr "" |
|---|
| | 180 | msgstr "Llista de distribuidors buida!" |
|---|
| 181 | 181 | |
|---|
| 182 | 182 | msgid "No." |
|---|
| 183 | | msgstr "" |
|---|
| | 183 | msgstr "No." |
|---|
| 184 | 184 | |
|---|
| 185 | 185 | msgid "Assign" |
|---|
| 186 | | msgstr "" |
|---|
| | 186 | msgstr "Assignar" |
|---|
| 187 | 187 | |
|---|
| 188 | 188 | msgid "Label" |
|---|
| 189 | | msgstr "" |
|---|
| | 189 | msgstr "Etiqueta" |
|---|
| 190 | 190 | |
|---|
| 191 | 191 | msgid "Number" |
|---|
| 192 | | msgstr "" |
|---|
| | 192 | msgstr "Número" |
|---|
| 193 | 193 | |
|---|
| 194 | 194 | msgid "Reseller" |
|---|
| 195 | | msgstr "" |
|---|
| | 195 | msgstr "Distribuidor" |
|---|
| 196 | 196 | |
|---|
| 197 | 197 | msgid "Incorrect email syntax!" |
|---|
| 198 | | msgstr "" |
|---|
| | 198 | msgstr "Sintaxi del correu incorrecte!" |
|---|
| 199 | 199 | |
|---|
| 200 | 200 | msgid "Incorrect domains limit!" |
|---|
| 201 | | msgstr "" |
|---|
| | 201 | msgstr "Límit de dominis incorrecte!" |
|---|
| 202 | 202 | |
|---|
| 203 | 203 | msgid "Incorrect subdomains limit!" |
|---|
| 204 | | msgstr "" |
|---|
| | 204 | msgstr "Límit de subdominis incorrecte" |
|---|
| 205 | 205 | |
|---|
| 206 | 206 | msgid "Incorrect aliases limit!" |
|---|
| 207 | | msgstr "" |
|---|
| | 207 | msgstr "Límit de alies incorrecte" |
|---|
| 208 | 208 | |
|---|
| 209 | 209 | msgid "Incorrect FTP accounts limit!" |
|---|
| 210 | | msgstr "" |
|---|
| | 210 | msgstr "Límit de comptes FTP!" |
|---|
| 211 | 211 | |
|---|
| 212 | 212 | msgid "Incorrect mail accounts limit!" |
|---|
| 213 | | msgstr "" |
|---|
| | 213 | msgstr "Límit de busties de correu incorrecte!" |
|---|
| 214 | 214 | |
|---|
| 215 | 215 | msgid "Incorrect SQL databases limit!" |
|---|
| 216 | | msgstr "" |
|---|
| | 216 | msgstr "Límit de bases de dades SQL incorrecte!" |
|---|
| 217 | 217 | |
|---|
| 218 | 218 | msgid "Incorrect SQL users limit!" |
|---|
| 219 | | msgstr "" |
|---|
| | 219 | msgstr "Límit de usuaris SQL incorrecte" |
|---|
| 220 | 220 | |
|---|
| 221 | 221 | msgid "Incorrect traffic limit!" |
|---|
| 222 | | msgstr "" |
|---|
| | 222 | msgstr "Límit te trànsit incorrecte!" |
|---|
| 223 | 223 | |
|---|
| 224 | 224 | msgid "Incorrect disk quota limit!" |
|---|
| 225 | | msgstr "" |
|---|
| | 225 | msgstr "Límit de quota de disc incorrecte!" |
|---|
| 226 | 226 | |
|---|
| 227 | 227 | msgid "You must assign at least one IP number for a reseller!" |
|---|
| 228 | | msgstr "" |
|---|
| | 228 | msgstr "Has d'assignar al menys una IP per distribuidor!" |
|---|
| 229 | 229 | |
|---|
| 230 | 230 | msgid "Add reseller" |
|---|
| 231 | | msgstr "" |
|---|
| | 231 | msgstr "Afegir distribuidor" |
|---|
| 232 | 232 | |
|---|
| 233 | 233 | msgid "Domains limit<br><i>(0 unlimited)</i>" |
|---|
| 234 | | msgstr "" |
|---|
| | 234 | msgstr "Limit de dominis<br><i>(0 il·limitat)</i>" |
|---|
| 235 | 235 | |
|---|
| 236 | 236 | msgid "Subdomains limit<br><i>(-1 disabled, 0 unlimited)</i>" |
|---|
| 237 | | msgstr "" |
|---|
| | 237 | msgstr "Límit de subdominis<br><i>(-1 deshabilitat, 0 il·limitat)</i>" |
|---|
| 238 | 238 | |
|---|
| 239 | 239 | msgid "Aliases limit<br><i>(-1 disabled, 0 unlimited)</i>" |
|---|
| 240 | | msgstr "" |
|---|
| | 240 | msgstr "Límit d'alies<br><i>(-1 deshabilitat, 0 il·limitat)</i>" |
|---|
| 241 | 241 | |
|---|
| 242 | 242 | msgid "Mail accounts limit<br><i>(-1 disabled, 0 unlimited)</i>" |
|---|
| 243 | | msgstr "" |
|---|
| | 243 | msgstr "Límit de busties de correu<br><i>(-1 deshabilitat, 0 il·limitat)</i>" |
|---|
| 244 | 244 | |
|---|
| 245 | 245 | msgid "FTP accounts limit<br><i>(-1 disabled, 0 unlimited)</i>" |
|---|
| 246 | | msgstr "" |
|---|
| | 246 | msgstr "Límit de comptes d'FTP<br><i>(-1 deshabilitat, 0 il·limitat)</i>" |
|---|
| 247 | 247 | |
|---|
| 248 | 248 | msgid "SQL databases limit<br><i>(-1 disabled, 0 unlimited)</i>" |
|---|
| 249 | | msgstr "" |
|---|
| | 249 | msgstr "Límit de bàses de dades SQL<br><i>(-1 deshabilitat, 0 il·limitat)</i>" |
|---|
| 250 | 250 | |
|---|
| 251 | 251 | msgid "SQL users limit<br><i>(-1 disabled, 0 unlimited)</i>" |
|---|
| 252 | | msgstr "" |
|---|
| | 252 | msgstr "Límit d'usuaris SQL<br><i>(-1 deshabilitat, 0 il·limitat)</i>" |
|---|
| 253 | 253 | |
|---|
| 254 | 254 | msgid "Traffic limit [MB]<br><i>(0 unlimited)</i>" |
|---|
| 255 | | msgstr "" |
|---|
| | 255 | msgstr "Límit de transit<br><i>(0 unlimited)</i>" |
|---|
| 256 | 256 | |
|---|
| 257 | 257 | msgid "Disk limit [MB]<br><i>(0 unlimited)</i>" |
|---|
| 258 | | msgstr "" |
|---|
| | 258 | msgstr "Límit de disc<br><i>(0 unlimited)</i>" |
|---|
| 259 | 259 | |
|---|
| 260 | 260 | msgid "PHP" |
|---|
| 261 | | msgstr "" |
|---|
| | 261 | msgstr "PHP" |
|---|
| 262 | 262 | |
|---|
| 263 | 263 | msgid "CGI / Perl" |
|---|
| 264 | | msgstr "" |
|---|
| | 264 | msgstr "CGI / Perl" |
|---|
| 265 | 265 | |
|---|
| 266 | 266 | msgid "JSP" |
|---|
| 267 | | msgstr "" |
|---|
| | 267 | msgstr "JSP" |
|---|
| 268 | 268 | |
|---|
| 269 | 269 | msgid "SSI" |
|---|
| 270 | | msgstr "" |
|---|
| | 270 | msgstr "SSI" |
|---|
| 271 | 271 | |
|---|
| 272 | 272 | msgid "Frontpage extensions" |
|---|
| 273 | | msgstr "" |
|---|
| | 273 | msgstr "Extensions de Frontpage" |
|---|
| 274 | 274 | |
|---|
| 275 | 275 | msgid "Backup and restore" |
|---|
| 276 | | msgstr "" |
|---|
| | 276 | msgstr "Copia i recuperació" |
|---|
| 277 | 277 | |
|---|
| 278 | 278 | msgid "Custom error pages" |
|---|
| 279 | | msgstr "" |
|---|
| | 279 | msgstr "Pàgines d'error personalitzades" |
|---|
| 280 | 280 | |
|---|
| 281 | 281 | msgid "Protected areas" |
|---|
| 282 | | msgstr "" |
|---|
| | 282 | msgstr "Arees protegides" |
|---|
| 283 | 283 | |
|---|
| 284 | 284 | msgid "Webmail" |
|---|
| 285 | | msgstr "" |
|---|
| | 285 | msgstr "Correu web" |
|---|
| 286 | 286 | |
|---|
| 287 | 287 | msgid "Directory listing" |
|---|
| 288 | | msgstr "" |
|---|
| | 288 | msgstr "Llistat de directori" |
|---|
| 289 | 289 | |
|---|
| 290 | 290 | msgid "Apache logfiles" |
|---|
| 291 | | msgstr "" |
|---|
| | 291 | msgstr "Registres de Apache" |
|---|
| 292 | 292 | |
|---|
| 293 | 293 | msgid "AwStats" |
|---|
| 294 | | msgstr "" |
|---|
| | 294 | msgstr "AwStats" |
|---|
| 295 | 295 | |
|---|
| 296 | 296 | msgid "Logo upload" |
|---|
| 297 | | msgstr "" |
|---|
| | 297 | msgstr "Carrega del logo" |
|---|
| 298 | 298 | |
|---|
| 299 | 299 | msgid "yes" |
|---|
| 300 | | msgstr "" |
|---|
| | 300 | msgstr "si" |
|---|
| 301 | 301 | |
|---|
| 302 | 302 | msgid "no" |
|---|
| 303 | | msgstr "" |
|---|
| | 303 | msgstr "no" |
|---|
| 304 | 304 | |
|---|
| 305 | 305 | msgid "Reseller IPs" |
|---|
| 306 | | msgstr "" |
|---|
| | 306 | msgstr "IPs de distribuidor" |
|---|
| 307 | 307 | |
|---|
| 308 | 308 | msgid "Customer ID" |
|---|
| 309 | | msgstr "" |
|---|
| | 309 | msgstr "ID del client" |
|---|
| 310 | 310 | |
|---|
| 311 | 311 | msgid "ispCP - Admin/Admin Log" |
|---|
| 312 | | msgstr "" |
|---|
| | 312 | msgstr "ispCP - Admin/Registre de Admin" |
|---|
| 313 | 313 | |
|---|
| 314 | 314 | msgid "Log is empty!" |
|---|
| 315 | | msgstr "" |
|---|
| | 315 | msgstr "El log està buit" |
|---|
| 316 | 316 | |
|---|
| 317 | 317 | #, php-format |
|---|
| 318 | 318 | msgid "%s deleted the full admin log!" |
|---|
| 319 | | msgstr "" |
|---|
| | 319 | msgstr "%s ha esborrat el registre complet d'admin!" |
|---|
| 320 | 320 | |
|---|
| 321 | 321 | #, php-format |
|---|
| 322 | 322 | msgid "%s deleted the admin log older than two weeks!" |
|---|
| 323 | | msgstr "" |
|---|
| | 323 | msgstr "%s ha esborrat el registre d'admin més antic de dos setmanes" |
|---|
| 324 | 324 | |
|---|
| 325 | 325 | #, php-format |
|---|
| 326 | 326 | msgid "%s deleted the admin log older than one month!" |
|---|
| 327 | | msgstr "" |
|---|
| | 327 | msgstr "%s ha esborrat el registre d'admin mes antic d'un mès!" |
|---|
| 328 | 328 | |
|---|
| 329 | 329 | #, php-format |
|---|
| 330 | 330 | msgid "%s deleted the admin log older than three months!" |
|---|
| 331 | | msgstr "" |
|---|
| | 331 | msgstr "%s ha esborrat el registre d'admin mes antic de tres mesos!" |
|---|
| 332 | 332 | |
|---|
| 333 | 333 | #, php-format |
|---|
| 334 | 334 | msgid "%s deleted the admin log older than six months!" |
|---|
| 335 | | msgstr "" |
|---|
| | 335 | msgstr "%s ha esborrat el registre d'admin mes antic de sis mesos!" |
|---|
| 336 | 336 | |
|---|
| 337 | 337 | #, php-format |
|---|
| 338 | 338 | msgid "%s deleted the admin log older than one year!" |
|---|
| 339 | | msgstr "" |
|---|
| | 339 | msgstr "%s ha esborrat el registre d'admin mes antic d'un any!" |
|---|
| 340 | 340 | |
|---|
| 341 | 341 | msgid "Invalid time period!" |
|---|
| 342 | | msgstr "" |
|---|
| | 342 | msgstr "Periòde de temps invàlid!" |
|---|
| 343 | 343 | |
|---|
| 344 | 344 | msgid "Admin Log" |
|---|
| 345 | | msgstr "" |
|---|
| | 345 | msgstr "Registre d'admin" |
|---|
| 346 | 346 | |
|---|
| 347 | 347 | msgid "Clear log" |
|---|
| 348 | | msgstr "" |
|---|
| | 348 | msgstr "Esborrar registre" |
|---|
| 349 | 349 | |
|---|
| 350 | 350 | msgid "Date" |
|---|
| 351 | | msgstr "" |
|---|
| | 351 | msgstr "Data" |
|---|
| 352 | 352 | |
|---|
| 353 | 353 | msgid "Message" |
|---|
| 354 | | msgstr "" |
|---|
| | 354 | msgstr "Missatge" |
|---|
| 355 | 355 | |
|---|
| 356 | 356 | msgid "Delete from log:" |
|---|
| 357 | | msgstr "" |
|---|
| | 357 | msgstr "Esborrar del registre:" |
|---|
| 358 | 358 | |
|---|
| 359 | 359 | msgid "everything" |
|---|
| 360 | | msgstr "" |
|---|
| | 360 | msgstr "tot" |
|---|
| 361 | 361 | |
|---|
| 362 | 362 | msgid "older than 2 weeks" |
|---|
| 363 | | msgstr "" |
|---|
| | 363 | msgstr "més antic de 2 setmanes" |
|---|
| 364 | 364 | |
|---|
| 365 | 365 | msgid "older than 1 month" |
|---|
| 366 | | msgstr "" |
|---|
| | 366 | msgstr "més antic de un mès" |
|---|
| 367 | 367 | |
|---|
| 368 | 368 | msgid "older than 3 months" |
|---|
| 369 | | msgstr "" |
|---|
| | 369 | msgstr "més antic de tres mesos" |
|---|
| 370 | 370 | |
|---|
| 371 | 371 | msgid "older than 6 months" |
|---|
| 372 | | msgstr "" |
|---|
| | 372 | msgstr "més antic de sis mesos" |
|---|
| 373 | 373 | |
|---|
| 374 | 374 | msgid "older than 12 months" |
|---|
| 375 | | msgstr "" |
|---|
| | 375 | msgstr "més antic de dotze mesos" |
|---|
| 376 | 376 | |
|---|
| 3 |
|---|
|