diff --git a/admin/inc/class.admin_cmd_edit_group.inc.php b/admin/inc/class.admin_cmd_edit_group.inc.php index c2eb6abc11..6b9cb8ede7 100644 --- a/admin/inc/class.admin_cmd_edit_group.inc.php +++ b/admin/inc/class.admin_cmd_edit_group.inc.php @@ -61,6 +61,10 @@ class admin_cmd_edit_group extends admin_cmd 'account_status' => 'A', // not used, but so we do the same thing as the web-interface 'account_expires' => -1, ); + if(!array_key_exists('account_email', $data)) + { + $data['account_email'] = null; + } if (!$data['account_lid'] && (!$this->account || !is_null($data['account_lid']))) { throw new Api\Exception\WrongUserinput(lang('You must enter a group name.'), 17); @@ -68,7 +72,7 @@ class admin_cmd_edit_group extends admin_cmd if (!is_null($data['account_lid']) && ($id = admin_cmd::$accounts->name2id($data['account_lid'],'account_lid','g')) && $id !== $data['account_id']) { - throw new Api\Exception\WrongUserinput(lang('That loginid has already been taken'), 11); + throw new Api\Exception\WrongUserinput(lang('That loginid has already been taken'), 11); } if (!$data['account_members'] && !$this->account) { diff --git a/admin/lang/egw_de.lang b/admin/lang/egw_de.lang index ac523b1520..f070d1b7e9 100644 --- a/admin/lang/egw_de.lang +++ b/admin/lang/egw_de.lang @@ -42,7 +42,7 @@ account "%1" has no email address --> not notified! admin de Benutzer "%1" hat k account "%1" has no plaintext password! admin de Benutzer "%1" hat kein Klartext Passwort! account %1 %2 admin de Benutzerkonto %1 %2 account '%1' deleted. admin de Konto '%1' gelöscht. -account '%1' not found !!! admin de Mailkonto '%1' nicht gefunden ! +account '%1' not found !!! admin de Mail-Konto '%1' nicht gefunden ! account active admin de Konto aktiv account deleted. admin de Mail-Konto gelöscht. account has been created common de Konto wurde erstellt @@ -53,7 +53,7 @@ account list admin de Benutzerkonten anzeigen account not found! common de Mail-Konto nicht gefunden! account permissions admin de Zugriffsrechte account preferences admin de Einstellungen der Benutzerkonten -account saved. admin de Mailkonto gespeichert. +account saved. admin de E-Mail-Konto gespeichert. account-id's have to be integers! admin de Konten-ID`s müssen vom Typ Integer (Zahl) sein! acl added. admin de ACL hinzugefügt. acl csv export admin de ACL CSV Export @@ -703,8 +703,7 @@ php version admin de PHP Version phpinfo admin de PHP-Informationen phrase admin de Phrase phrase deleted admin de Phrase gelöscht -please check email. it gets automatically deleted if email integration is used. admin de Bitte überprüfen Sie das E-Mailkonto des Benutzers, es wird automatisch gelöscht, wenn E-Mail-Integration verwendet wird. -please check home folder. all files and folders of the user will be unusable by other users. admin de Bitte überprüfen Sie die Home-Ordner! Alle Dateien und Ordner des Benutzers werden für andere Benutzer unbrauchbar. +please check email. it gets automatically deleted if email integration is used. admin de Bitte überprüfen Sie das E-Mail-Konto des Benutzers, es wird automatisch gelöscht, wenn E-Mail-Integration verwendet wird. please enter a name admin de Bitte einen Namen eingeben please enter a name for that server ! admin de Bitte einen Namen für diesen Server eingeben! please manually deal with entries owned by the user: admin de Bitte händisch um Einträge des Benutzers kümmern: diff --git a/api/lang/egw_es-es.lang b/api/lang/egw_es-es.lang index 4c0a0b9153..8401ef5784 100644 --- a/api/lang/egw_es-es.lang +++ b/api/lang/egw_es-es.lang @@ -1095,6 +1095,7 @@ rename common es-es Renombrar replace common es-es Sustituir replace with common es-es Sustituir por requests and full responses to files directory common es-es Solicitudes y respuestas completas al directorio de archivos +requests and truncated responses to apache error-log groupdav es-es Solicitudes y respuestas truncadas al registro de errores de Apache required common es-es Requerido required directory "%1" created. admin es-es Directorio requerido "%1" creado. required directory "%1" has wrong mode %2 instead of %3! admin es-es ¡El directorio requerido "%1" tiene un modo incorrecto %2 en lugar de %3! @@ -1251,6 +1252,7 @@ show as topmenu common es-es Mostrar como menú superior show clock? common es-es ¿Mostrar el reloj? show home and logout button in main application bar? common es-es ¿Mostrar los botones de inicio y salir en el barra de aplicaciones principal? show in sidebox common es-es Mostrar en el menú lateral +show log of following device groupdav es-es Mostrar bitácora del dispositivo siguiente show logo's on the desktop. common es-es Mostrar logo en el escritorio show menu common es-es mostrar menú show next login common es-es Mostrar registro del siguiente dispositivo @@ -1298,6 +1300,7 @@ starting up... common es-es Iniciando... status common es-es Estado store your public key in addressbook? common es-es ¿Almacena su clave pública en la libreta de direcciones? stretched common es-es ajustado +strikethrough common es-es Tachado subject common es-es Asunto submit common es-es Enviar submit form common es-es Enviar formulario diff --git a/api/src/Session.php b/api/src/Session.php index 41faf5f5a3..5388376ee7 100644 --- a/api/src/Session.php +++ b/api/src/Session.php @@ -1161,7 +1161,7 @@ class Session * Get the sessionid from Cookie, Get-Parameter or basic auth * * @param boolean $only_basic_auth =false return only a basic auth pseudo sessionid, default no - * @return string + * @return string|null (pseudo-)session-id use or NULL if no Cookie or Basic-Auth credentials */ static function get_sessionid($only_basic_auth=false) { @@ -1200,7 +1200,7 @@ class Session } else { - $sessionid = false; + $sessionid = null; } if (self::ERROR_LOG_DEBUG) error_log(__METHOD__."() _SERVER[REQUEST_URI]='$_SERVER[REQUEST_URI]' returning ".print_r($sessionid,true)); return $sessionid; @@ -1565,6 +1565,11 @@ class Session return $ret_url; } + /** + * Regexp to validate IPv4 and IPv6 + */ + const IP_REGEXP = '/^(?>(?>([a-f0-9]{1,4})(?>:(?1)){7}|(?!(?:.*[a-f0-9](?>:|$)){8,})((?1)(?>:(?1)){0,6})?::(?2)?)|(?>(?>(?1)(?>:(?1)){5}:|(?!(?:.*[a-f0-9]:){6,})(?3)?::(?>((?1)(?>:(?1)){0,4}):)?)?(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])(?>\.(?4)){3}))$/iD'; + /** * Get the ip address of current users * @@ -1575,9 +1580,15 @@ class Session */ public static function getuser_ip() { - return isset($_SERVER['HTTP_X_FORWARDED_FOR']) ? - preg_replace('/, *10\..*$/', '', $_SERVER['HTTP_X_FORWARDED_FOR']) : - $_SERVER['REMOTE_ADDR']; + if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) + { + $forwarded_for = preg_replace('/, *10\..*$/', '', $_SERVER['HTTP_X_FORWARDED_FOR']); + if (preg_match(self::IP_REGEXP, $forwarded_for)) + { + return $forwarded_for; + } + } + return $_SERVER['REMOTE_ADDR']; } /** diff --git a/calendar/lang/egw_es-es.lang b/calendar/lang/egw_es-es.lang index 0670771255..1b1d162f01 100644 --- a/calendar/lang/egw_es-es.lang +++ b/calendar/lang/egw_es-es.lang @@ -472,6 +472,7 @@ requested calendar es-es Requerido requested date %1 outside allowed range of %2 days: recurring events obmitted! calendar es-es Fecha solicitada %1 fuera del rango permitido de %2 días: ¡eventos recurrentes omitidos! requested meeting is in the past! calendar es-es ¡La reunión solicitada está en el pasado! require an acl grant to invite other users and groups admin es-es Requerir el permiso de una ACL para invitar a otros grupos +required information (start, end, title, ...) missing! calendar es-es ¡Falta la información requerida (inicio, final, título, ...)! reset calendar es-es Restablecer reset participant stati on event shifts calendar es-es Restablecer el estado del participante en cambios de evento resources calendar es-es Recursos @@ -516,6 +517,7 @@ show all status incl. rejected events calendar es-es Mostrar todos los estados, show all status, but rejected calendar es-es Mostrar todos los estados, excepto los rechazados show all status, but unknown calendar es-es Mostrar todos los estados, excepto los desconocidos show also events just owned by selected user calendar es-es Mostrar también los eventos cuyo único propietario es el usuario seleccionado +show birthdays as all day non-blocking events as well as via mouseover of the date. calendar es-es Mostrar como eventos sin bloqueo de todo el día , así como por medio del mouse sobre la fecha. show birthdays as events calendar es-es Mostrar cumpleaños como eventos show birthdays from addressbook admin es-es Mostrar cumpleaños de la libreta de direcciones show empty rows in planner calendar es-es Mostrar filas vacías en el planificador @@ -587,6 +589,7 @@ timezone calendar es-es Zona horaria timezone in which recurrences have identical time calendar es-es Zona horaria en que las repeticiones tienen la hora idéntica timezone of event exports calendar es-es Zona horaria de los eventos exportados timezone of event ical file import/export calendar es-es Zona horaria de eventos de importar/exportar fichero iCal +timezones aliases updated to version %1 (%2 records updated). calendar es-es Alias ​​de zonas horarias actualizadas a la versión %1 (%2 registros actualizados). timezones updated to version %1 (%2 records updated). calendar es-es Las zonas horarias se han actualizado a la versión %1 (%2 registros actualizados) title of the event calendar es-es Título del evento titles of any entries linked to the current record, excluding attached files calendar es-es Títulos de cualquier entrada vinculada al registro actual, excluyendo los ficheros adjuntos @@ -601,9 +604,11 @@ two weeks calendar es-es Dos semanas type of planner calendar es-es Tipo de planificador unable to save calendar es-es No se puede guardar uninvited calendar es-es Ya no está invitado +update calendar view immediately when navigation calendar in sidebox is changed calendar es-es Actualizar la vista del calendario inmediatamente cuando cambie el calendario de navegación en la barra lateral update timezones common es-es Actualizar zonas horarias updated calendar es-es Actualizado use end date calendar es-es Usar fecha final +use quick add or full edit dialog when creating a new event calendar es-es Usar el añadido rápido o el cuadro de diálogo d eedición completa al crear un nuevo evento use the selected time and close the popup calendar es-es usar la hora seleccionada y cerrar la ventana use this tag for addresslabels. put the content, you want to repeat, between two tags. calendar es-es Usar esta etiqueta para las etiquetas de direcciones. Ponga el contenido que quiera repetir entre dos etiquetas. use this timezone to export calendar data. calendar es-es Usar esta zona horaria para exportar datos de calendario. @@ -613,6 +618,7 @@ user or group calendar es-es Usuario o grupo user selectable css file for the calendar setup calendar es-es Fichero CSS seleccionable por el usuario para la configuración del calendario users + groups: inviting both always requires an invite grant admin es-es Usuarios y grupos: invitar a ambos siempre requiere un permiso para invitar using already existing event on server. calendar es-es Usando el evento ya existente en el servidor. +utilities calendar es-es Utilitarios view exception calendar es-es Ver excepción view series calendar es-es Ver serie view settings calendar es-es Ver configuración diff --git a/doc/docker/development/Dockerfile b/doc/docker/development/Dockerfile index ab29894caf..eb78803744 100644 --- a/doc/docker/development/Dockerfile +++ b/doc/docker/development/Dockerfile @@ -35,7 +35,7 @@ RUN apt-get update \ -e 's|^;\?max_execution_time \?=.*|max_execution_time = 90|g' \ -e 's|^;\?upload_max_filesize \?=.*|upload_max_filesize = 64M|g' \ -e 's|^;\?post_max_size \?=.*|post_max_size = 65M|g' \ - -e 's|^;\?max_input_vars \?=.*|max_input_vars = 2000|g' \ + -e 's|^;\?max_input_vars \?=.*|max_input_vars = 5000|g' \ -e 's|^;\?zlib.output_compression \?=.*|zlib.output_compression = On|g' \ -e 's|^;\?opcache.validate_timestamps \?=.*|opcache.validate_timestamps=0|g' \ -i /etc/php/$PHP_VERSION/fpm/php.ini \ diff --git a/mail/lang/egw_el.lang b/mail/lang/egw_el.lang index 5e76239a5f..9c765793ba 100644 --- a/mail/lang/egw_el.lang +++ b/mail/lang/egw_el.lang @@ -1,24 +1,58 @@ -(no subject) mail el (κανένα θέμα) +%1 attachments mail el %1 συννημένα +%1 mails selected mail el %1 μηνύματα έχουν επιλεγεί +(no subject) mail el (χωρίς θέμα) +action mail el Ενέργεια +add as new mail el Προσθήκη ως νέο +add files as %1 mail el Προσθήκη αρχείων ως %1 +add folder mail el Προσθήκη φακέλου add to addressbook mail el προσθήκη στο βιβλίο διευθύνσεων +all mail el όλα +all adresses: mail el Όλες οι διευθύνσεις: all of mail el όλα από allow images from external sources in html emails mail el Να επιτρέπονται οι εικόνες από εξωτερικές πηγές στα HTML emails allways a new window mail el πάντα νέο παράθυρο -always show html emails mail el Να εμφανίζονται πάντοτε τα HTML emails +always mail el Πάντα +always show html emails mail el να εμφανίζονται πάντοτε τα μυνήματα τύπου HTML any of mail el οποιοδήποτε any status mail el οποιαδήποτε κατάσταση -attachments mail el Επισυνάψεις +arrival mail el Ελήφθη +attach files mail el Επισύναψη αρχείων +attach vcard mail el Επισύναψη vCard +attachment mail el Συνημμένο +attachments mail el Συνημμένα by date mail el Βάσει ημερομηνίας -compose mail el Συνθέτω -compress folder mail el Φάκελος συμπίεσης +choose file mail el Επιλογή αρχείου +common acl mail el Κοινά δικαιώματα +compose mail el Σύνταξη +compose as new mail el Σύνταξη ως νεό μήνυμα +compress folder mail el Συμπίεση φακέλου condition mail el κατάσταση +configuration settings mail el Παραμετροποίηση ρυθμίσεων +confirm mail el Επιβεβαίωση +confirm attach message mail el Επιβεβαίωση επισύναψης μηνύματος +confirm move to folder mail el Επιβεβαίωση μετακίνησης σε φάκελο +connect to profile %1 mail el Σύνδεση στο προφίλ %1 +connection status mail el Κατάσταση σύνδεσης contains mail el περιέχει +contains(*) mail el Περιέχει(*) copy to mail el Αντιγραφή στο +create new account mail el Δημιουργία νέου λογαριασμού +current folder mail el Τρέχον φάκελος +current subject mail el Τρέχον θέμα date(newest first) mail el Ημερομηνία (πρώτα η πιο πρόσφατη) date(oldest first) mail el Ημερομηνία (πρώτα η πιο παλιά) default sorting order mail el Προεπιλεγμένη σειρά ταξινόμησης delete folder mail el Διαγραφή Φακέλου +delete folder %1 ? mail el ΔΙΑΓΡΑΦΗ φακέλου %1 ; +delete this acl mail el Διαγραφή αυτού του δικαιώματος deleted mail el διεγράφη +deleted %1 messages in %2 mail el διαγραφή %1 μηνυμάτων στο %2 +deleted! mail el διεγράφη! +deleting %1 folders in progress ... mail el Διαγραφή %1 φακέλων σε εξέλιξη ... +deleting folders mail el Διαδικασία διαγραφής φακέλων +deny certain groups access to following features mail el Αποκλεισμός ορισμένων ομάδων από τις παρακάτω λειτουργίες disable mail el Απενεργοποίηση +disabled! mail el απενεργοποιημένο! discard mail el απόρριψη discard message mail el απόρριψη μηνύματων display messages in multiple windows mail el προβολή μηνυμάτων σε πολλαπλά παράθυρα @@ -29,13 +63,20 @@ does not contain mail el δεν περιέχει does not match mail el δεν συμπίπτει don't use draft folder mail el Μην χρησιμοποιείτε των φάκελο προσχεδίων don't use sent mail el Μην χρησιμοποιείτε τα Σταλθέντα -don't use trash mail el Μην χρησιμοποιείτε των Κάδο Αχρήστων -draft folder mail el προσχέδιος φάκελος +don't use trash mail el Απενεργοποίηση κάδου απορριμάτων +draft folder mail el Φάκελος για προσχέδια +drafts mail el Προσχέδια +drafts folder mail el φάκελος για προσχέδια edit account mail el Επεξεργασία λογαριασμού +edit account ... mail el Επεξεργασία λογαριασμού ... +edit folder acl mail el Επεξεργασία δικαιωμάτων φακέλου +edit folder acl ... mail el Επεξεργασία δικαιωμάτων φακέλου ... edit vacation settings mail el επεξεργασία ρυθμίσεων διακοπών emailaddress admin el Διεύθυνση e-mail empty trash mail el Άδειασμα κάδου αχρήστων enable mail el ενεργοποίηση +encrypt mail el Κρυπτογράφιση +encryption mail el Κρυπτογράφιση event details follow mail el Ακολουθούν λεπτομέρειες γεγονότων everyone mail el όλοι extended mail el Εκτεταμένος @@ -62,15 +103,23 @@ imap server mail el IMAP Server inbox mail el Εισερχόμενα keep a copy of the message in your inbox mail el κρατήστε ένα αντίγραφο του μηνύματος στα εισερχόμενα kilobytes mail el kilobytes -less than mail el λιγότερο από +later mail el αργότερα +less than mail el μικρότερο από mail settings mail el Ρυθμίσεις μηνυμάτων mark as deleted mail el Σημείωση ως διαγραμένο matches mail el συνδυάζεται matches regexp mail el συνδυάζεται regexp -move selected to mail el μετακίνηση επιλεγμένων στο -move to mail el μετακίνηση επιλεγμένων στο +message body mail el Κορμός μηνύματος +message preview area mail el Περιοχή προεπισκόπησης μηνύματος +move mail el Μετακίνηση +move folder mail el Μετακίνηση φακέλου +move selected to mail el Μετακίνηση επιλεγμένων στο +move to mail el Μετακίνηση στο move to trash mail el Μετακίνηση στον Κάδο Αχρήστων +name of account mail el Όνομα λογαριασμού never display html emails mail el Να μην προβάλονται τα HTML emails +new message type mail el Νέος τύπος μηνύματος +new subject mail el Νέο θέμα no plain text part found mail el δεν βρέθηκε μέρος αποκρυπτογραφημένου κειμένου on mail el πάνω one address is not valid mail el Κάποια διεύθυνση είναι άκυρη @@ -89,7 +138,7 @@ rename folder mail el Μετονομασία φακέλου replied mail el απαντήθηκε reply mail el Απάντηση reply all mail el Απάντηση σε όλα -reply to mail el Απάντηση στο +reply to mail el Η απάντηση να ληφθεί στην διεύθυνση replyto mail el Απάντησηστο row order style mail el Στυλ ταξινόμησης σειράς save all mail el Αποθήκευση όλων @@ -115,3 +164,4 @@ view header lines mail el Προβολή γραμμών τίτλου when deleting messages mail el Όταν διαγράφονται τα μηνύματα write mail el Γραφή wrote mail el γράφτηκε +you've got new mail mail el Έχετε νέο μήνυμα diff --git a/mail/lang/egw_en.lang b/mail/lang/egw_en.lang index b4a20a8c70..14e4d4b2f9 100644 --- a/mail/lang/egw_en.lang +++ b/mail/lang/egw_en.lang @@ -62,7 +62,7 @@ application mail expected but got: %1 mail en Application mail expected but got: archive folder mail en Archive folder are you sure you want to delete all selected folders? mail en Are you sure you want to delete all selected folders? are you sure you want to move folder %1 to folder %2? mail en Are you sure you want to move folder %1 to folder %2? -arrival mail en Recieved +arrival mail en Received ask for permission mail en Ask for permission attach files mail en Attach files attach users vcard at compose to every new mail mail en attach users VCard at compose to every new mail diff --git a/mail/lang/egw_es-es.lang b/mail/lang/egw_es-es.lang index 3797d34473..d2f3cdd1ce 100644 --- a/mail/lang/egw_es-es.lang +++ b/mail/lang/egw_es-es.lang @@ -70,8 +70,10 @@ attach vcard mail es-es Adjuntar vCard attachment mail es-es Adjunto attachment has been saved successfully. mail es-es El archivo adjunto se ha guardado exitosamente. attachments mail es-es Adjuntos +attachments, ... mail es-es Adjuntos, ... authentication mail es-es Autenticación available personal email-accounts/profiles mail es-es Cuentas de correo-e/perfiles personales disponibles +be aware that all attachments will be sent as %1! mail es-es ¡Tenga en cuenta que todos los archivos adjuntos se enviarán como %1! before reply, visible during compose mail es-es Antes de la respuesta, visible durante la composición blacklisted mails are marked as spam mail es-es Los mensajes en la lista negra están marcados como spam but check shared folders mail es-es pero compruebe las carpetas compartidas @@ -79,6 +81,7 @@ by date mail es-es por fecha can not open imap connection mail es-es No se puede abrir la conexión IMAP can not resolve the winmail.dat attachment! mail es-es ¡No se puede resolver el archivo adjunto winmail.dat! canceled deletion due to user interaction mail es-es supresión cancelada debido a la interacción del usuario +certificate info for email %1 mail es-es Información del certificado para el correo-e %1 change editor type mail es-es cambiar el editor al modo HTML changed profile mail es-es perfil cambiado check message against next rule also mail es-es comprobar el mensaje también con la regla siguiente @@ -109,6 +112,7 @@ could not append message: mail es-es No se pudo agregar el mensaje: could not save the acl because some names are empty mail es-es No se pudo guardar la lista de control de acceso porque algunos nombres están vacíos create new account mail es-es crear nueva cuenta current folder mail es-es carpeta actual +current subject mail es-es Asunto actual currently: mail es-es Actualmente: date(newest first) mail es-es fecha (la más reciente primero) date(oldest first) mail es-es fecha (la más antigua primero) @@ -246,6 +250,7 @@ get acl rights failed from imap server! mail es-es ¡Falló obtener los derechos greater than mail es-es mayor que header mail es-es Encabezado header lines mail es-es Líneas de encabezado +high mail es-es alto hold %1 to drag files to your computer mail es-es Sostenga %1 para arrastrar archivos a su computadora home page folders mail es-es carpetas de la página de inicio hostname or ip mail es-es Nombre de host o IP @@ -298,6 +303,7 @@ less than mail es-es menor que mail common es-es Correo mail acl mail es-es Lista de control de acceso del correo mail filter mail es-es Filtro de correo +mail filter rule mail es-es Regla de filtro de correo mail settings mail es-es Configuración del correo mail source mail es-es Fuente de correo mail-address mail es-es Dirección de correo @@ -314,10 +320,12 @@ matches regexp mail es-es coincide con la expresión message body mail es-es cuerpo del mensaje message learned as spam and moved to spam folder mail es-es Mensaje aprendido como spam y movido a la carpeta de spam message preview area mail es-es Área de previsualización de mensajes -message saved successfully. common es-es Mensaje grabado exitosamente. +message saved successfully. mail es-es Mensaje grabado exitosamente. message send failed: %1 mail es-es Error al enviar el mensaje: %1 -message send successfully. admin es-es Mensaje enviado exitosamente. +message send successfully. mail es-es Mensaje enviado exitosamente. miscellaneous mail es-es Misceláneo +modify subject mail es-es Modificar asunto +modify subject of this message mail es-es Modificar asunto de este mensaje move mail es-es Mover move folder mail es-es Mover carpeta move selected mails to archive mail es-es Mover los correos seleccionados al archivo @@ -331,6 +339,7 @@ never display html emails mail es-es nunca mostrar los correos en HTML never show mail es-es nunca mostrar new mail notification mail es-es Nueva notificación de correo new message type mail es-es Nuevo tipo de mensaje +new subject mail es-es Nuevo asunto no access mail es-es sin acceso no action defined! mail es-es ¡No hay acción definida! no address to/cc/bcc supplied, and no folder to save message to provided. mail es-es No se ha suministrado dirección para el campo A/CC/CCO, ni carpeta donde guardar el mensaje.