diff --git a/ADDITIONS/import_users_from_csv.py b/ADDITIONS/import_users_from_csv.py new file mode 100644 index 00000000..e4f2ba19 --- /dev/null +++ b/ADDITIONS/import_users_from_csv.py @@ -0,0 +1,231 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Script takes a CSV list of users and does a 'bulk' insertion into mysql. +# +# Copyright (C) 2009 Simone Piccardi +# +# 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. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# + +import csv +import getopt +import sys +import re +import time +import random, string +from datetime import datetime +from crypt import crypt +try: + import MySQLdb +except ImportError ,e: + print 'Cannot import the needed MySQLdb module, you must install it' + print 'on Debian systems just use the command' + print ' apt-get install python-mysqldb' + +def usage(): + print "Usage: inspostadmusers.py [options] users.csv" + print " -h print this help" + print " -t test run, do not insert, just print" + print " -u DB user" + print " -p DB password" + print " -D DB name" + print " -H DB host" + print " -q Quota in Mb (0 => no limit)" + print " -n char in seed" + print " -d debug info on" + print " -A create default alias for each domain" + print + print "the users.csv file must contains the user list with a line" + print "for each user, first line should be a title line with at least" + print "the following column names: " + print " * user - user part of the email (like user in user@domain.com)" + print " * password - cleartext password" + print " * domain - domain name (like 'domain.com')" + print " * name - full user name ('Name Surname')" + print + print "the 'name' column is optional, other columns will be ignored" + print + print "Known restrictions:" + print "* this script only works with MySQL" + print "* mailbox paths are hardcoded to domain/username/" + + +# option parsing +try: + opts, args = getopt.getopt(sys.argv[1:], 'u:p:d:D:H:htdA') + optval={} + for opt, val in opts: + if opt == "-h": + usage() + sys.exit(0) + else: + optval[opt]=val +except getopt.GetoptError: + usage() + sys.exit(2) + +# +# Setup DB connection +# +MYSQLDB="postfixadmin" +MYSQLUSER="postfixadmin" +MYSQLPASSWORD="" +MYSQLHOST="localhost" + +# settings by command line options +if optval.has_key('-u'): + MYSQLUSER = optval['-u'] +if optval.has_key('-p'): + MYSQLPASSWORD = optval['-p'] +if optval.has_key('-D'): + MYSQLDB = optval['-D'] +if optval.has_key('-H'): + MYSQLHOST = optval['-H'] + +if optval.has_key('-q'): + quota = optval['-q'] +else: + quota = 0 + +if optval.has_key('-n'): + seed_len = optval['-n'] +else: + seed_len = 8 + +# check arguments, only the user list file must be present +if len(args) !=1: + print 'Need just one argument' + usage() + sys.exit(1) + +# MySQL connection (skipped in test run) +if optval.has_key('-t'): + print "Test Run" +else: + try: + connection = MySQLdb.connect(host=MYSQLHOST, user=MYSQLUSER, + db=MYSQLDB, passwd=MYSQLPASSWORD) + except MySQLdb.MySQLError, e: + print "Database connection error" + print e + sys.exit(1) + + cursor = connection.cursor() + +# +# Main body +# +NOW = datetime.now().strftime("%Y-%m-%d %H:%M:%S") + +# read and convert CSV data +lista = csv.DictReader(open(args[0])) + +def gen_seed(seed_len, chars): + return '$1$'+''.join([random.choice(chars) for _ in xrange(seed_len)])+'$' + +def insert_record(cursor,table,record): + columns = record.keys() + query = "INSERT INTO " + table + "(" + ','.join(columns) + ") VALUES (" + ','.join(len(columns)*['%s']) + ")" + try: + cursor.execute(query, record.values()) + return 0 + except MySQLdb.MySQLError, e: + print "Database insertion error" + print e + print "Record was:" + print record.values() + print "Query was:" + print query + +# defining default values for tables (mailbox, alias and domain) +mailbox = { + 'created': NOW, + 'modified': NOW, + 'active': 1, + 'quota': quota + } +aliases = { + 'created': NOW, + 'modified': NOW, + 'active': 1 + } +domain = { + 'description': "", + 'aliases': 0, + 'mailboxes': 0, + 'quota': 0, + 'transport': 'virtual', + 'backupmx': 0, + 'created': NOW, + 'modified': NOW, + 'active': 1 +} + +# list of default alias +def_alias = ['abuse','hostmaster','postmaster','webmaster'] + +domain_list = {} +chars = string.letters + string.digits + +# loop over the CSV +for row in lista: + # create domain if it does not exists + if domain_list.has_key(row["domain"]): + if optval.has_key('-d'): + print "Domain " + row["domain"] + "already exixts" + else: + domain_list[row["domain"]] = 1 + domain['domain'] = row["domain"] + if optval.has_key('-t'): + print "Inserting domain" + print domain + else: + insert_record(cursor,'domain',domain) + if optval.has_key('-A'): + for i in def_alias: + aliases['address']= i+'@'+row["domain"] + aliases['goto']= aliases['address'] + aliases['domain'] = row["domain"] + if optval.has_key('-t'): + print "Inserting alias" + print aliases + else: + insert_record(cursor,'alias',aliases) + + # build query data for mailbox table + mailbox['username']=row["user"]+'@'+row["domain"] + encpass=crypt(row["password"], gen_seed(seed_len,chars)) + mailbox['password'] = encpass + mailbox['name'] = row["name"] + mailbox['maildir'] = row["domain"]+'/'+row["user"]+'/' + mailbox['local_part'] =row["user"] + mailbox['domain'] = row["domain"] + + # build query data for alias table + aliases['address']= mailbox['username'] + aliases['goto']= mailbox['username'] + aliases['domain'] = row["domain"] + + # inserting data for mailbox (and relate alias) + if optval.has_key('-t'): + print "Inserting mailbox" + print mailbox + print aliases + else: + insert_record(cursor,'mailbox',mailbox) + insert_record(cursor,'alias',aliases) + + +sys.exit(0) diff --git a/CHANGELOG.TXT b/CHANGELOG.TXT index 52f59243..9a94c298 100644 --- a/CHANGELOG.TXT +++ b/CHANGELOG.TXT @@ -10,6 +10,25 @@ # Last update: # $Id$ +Version ***svn 2.3 branch*** - 2009/12/26 - SVN r*** +----------------------------------- + + - NOTE: this release is based on the 2.3 branch + - NOTE: this is a bugfix-only release for Postfix Admin 2.3 + - add import_users_from_csv.py script (by Simone Piccardi) + - handle dovecot passwords without any tempfile (prevents safe_mode issues) + - fix MySQL 6.0 compatibility + - fix quota display (for dovecot >= 1.2) + - fix short open tags (" 1) { # "ALL" + specific domain permissions. 2.3 doesn't create such entries, but they are available as leftover from older versions + flash_error("Permission check returned more than one result. Please go to 'edit admin' for your username and press the save " + . "button once to fix the database. If this doesn't help, open a bugreport."); + } return false; } else @@ -1199,22 +1203,30 @@ function pacrypt ($pw, $pw_db="") $dovecotpw = "dovecotpw"; if (!empty($CONF['dovecotpw'])) $dovecotpw = $CONF['dovecotpw']; - // prevent showing plain password in process table - $prefix = "postfixadmin-"; - $tmpfile = tempnam('/tmp', $prefix); - $pipe = popen("'$dovecotpw' -s '$method' > '$tmpfile'", 'w'); # TODO: replace tempfile usage with proc_open call + # Use proc_open call to avoid safe_mode problems and to prevent showing plain password in process table + $spec = array( + 0 => array("pipe", "r"), // stdin + 1 => array("pipe", "w") // stdout + ); + + $pipe = proc_open("$dovecotpw '-s' $method", $spec, $pipes); if (!$pipe) { - unlink($tmpfile); + die("can't proc_open $dovecotpw"); } else { // use dovecot's stdin, it uses getpass() twice - fwrite($pipe, $pw . "\n", 1+strlen($pw)); usleep(1000); - fwrite($pipe, $pw . "\n", 1+strlen($pw)); - pclose($pipe); - $password = file_get_contents($tmpfile); + // Write pass in pipe stdin + fwrite($pipes[0], $pw . "\n", 1+strlen($pw)); usleep(1000); + fwrite($pipes[0], $pw . "\n", 1+strlen($pw)); + fclose($pipes[0]); + + // Read hash from pipe stdout + $password = fread($pipes[1], "200"); + fclose($pipes[1]); + proc_close($pipe); + if ( !preg_match('/^\{' . $method . '\}/', $password)) { die("can't encrypt password with dovecotpw"); } $password = trim(str_replace('{' . $method . '}', '', $password)); - unlink($tmpfile); } } diff --git a/languages/bg.lang b/languages/bg.lang index 40521797..8c169c9c 100644 --- a/languages/bg.lang +++ b/languages/bg.lang @@ -348,6 +348,8 @@ $PALANG['pUsersVacation_button_away'] = 'Отивам във ваканция'; $PALANG['pUsersVacation_button_back'] = 'Връщам се от ваканция'; $PALANG['pUsersVacation_result_error'] = 'Не мога да обновя настройките за вашият автоматичен отговор!'; $PALANG['pUsersVacation_result_success'] = 'Вашият автоматичен отговор беше премахнат!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/ca.lang b/languages/ca.lang index b5fbbbf2..3bc29e5e 100644 --- a/languages/ca.lang +++ b/languages/ca.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = 'Absent'; $PALANG['pUsersVacation_button_back'] = 'De tornada'; $PALANG['pUsersVacation_result_error'] = 'Imposible actualitzar la configuració de la seva resposta automàtica!'; $PALANG['pUsersVacation_result_success'] = 'La seva resposta automàtica ha estat esborrada!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/cn.lang b/languages/cn.lang index 7af007b5..f5ca9828 100644 --- a/languages/cn.lang +++ b/languages/cn.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = '开启自动回复'; $PALANG['pUsersVacation_button_back'] = '关闭自动回复'; $PALANG['pUsersVacation_result_error'] = '更新自动回复失败!'; $PALANG['pUsersVacation_result_success'] = '你的自动回复已经关闭!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = '新建邮箱'; $PALANG['pCreate_dbLog_createalias'] = '新建别名'; diff --git a/languages/cs.lang b/languages/cs.lang index aefc9365..90d721f9 100644 --- a/languages/cs.lang +++ b/languages/cs.lang @@ -356,6 +356,8 @@ $PALANG['pUsersVacation_button_away'] = 'Odjet pryč'; $PALANG['pUsersVacation_button_back'] = 'Vrátit se'; $PALANG['pUsersVacation_result_error'] = 'Nepodařilo se upravit nastavení!'; $PALANG['pUsersVacation_result_success'] = 'Nastavení bylo upraveno!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'vytvořil schránku'; $PALANG['pCreate_dbLog_createalias'] = 'vytvořil alias'; diff --git a/languages/da.lang b/languages/da.lang index ec028f3b..b04f191c 100644 --- a/languages/da.lang +++ b/languages/da.lang @@ -354,6 +354,8 @@ $PALANG['pUsersVacation_button_away'] = 'Tager afsted'; $PALANG['pUsersVacation_button_back'] = 'Kommer tilbage'; $PALANG['pUsersVacation_result_error'] = 'Kan ikke opdatere indstillinger for dit autosvar!'; $PALANG['pUsersVacation_result_success'] = 'Dit autosvar er fjernet!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'tilføj postboks'; $PALANG['pCreate_dbLog_createalias'] = 'tilføj alias'; diff --git a/languages/de.lang b/languages/de.lang index b43274db..fabf4355 100644 --- a/languages/de.lang +++ b/languages/de.lang @@ -166,7 +166,7 @@ $PALANG['pEdit_mailbox_quota_text'] = 'MB'; $PALANG['pEdit_mailbox_quota_text_error'] = 'MB
Das angegebene Quota ist zu hoch!'; $PALANG['pEdit_mailbox_domain_error'] = 'Diese Domain gehört nicht Ihnen: '; $PALANG['pEdit_mailbox_button'] = 'Mailbox editieren'; -$PALANG['pEdit_mailbox_result_error'] = 'Unmöglich das Passwort zu ändern!'; +$PALANG['pEdit_mailbox_result_error'] = 'Mailbox kann nicht geändert werden!'; $PALANG['pPassword_welcome'] = 'Ändern Sie Ihr Login-Passwort.'; $PALANG['pPassword_admin'] = 'Login'; @@ -354,6 +354,8 @@ $PALANG['pUsersVacation_button_away'] = 'Ich gehe weg'; $PALANG['pUsersVacation_button_back'] = 'Ich bin zurück'; $PALANG['pUsersVacation_result_error'] = 'Konnte Ihre Automatische Antwort nicht einstellen!'; $PALANG['pUsersVacation_result_success'] = 'Ihre Automatische Antwort wurde gelöscht!'; +$PALANG['pUsersVacation_activefrom'] = 'Aktiv ab dem'; +$PALANG['pUsersVacation_activeuntil'] = 'Aktiv bis zum'; $PALANG['pCreate_dbLog_createmailbox'] = 'Mailbox hinzufügen'; $PALANG['pCreate_dbLog_createalias'] = 'Alias hinzuügen'; diff --git a/languages/en.lang b/languages/en.lang index 50914eaf..2a5735bd 100644 --- a/languages/en.lang +++ b/languages/en.lang @@ -355,6 +355,8 @@ $PALANG['pUsersVacation_button_away'] = 'Going Away'; $PALANG['pUsersVacation_button_back'] = 'Coming Back'; $PALANG['pUsersVacation_result_error'] = 'Unable to update your auto response settings!'; $PALANG['pUsersVacation_result_success'] = 'Your auto response has been removed!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; $PALANG['pCreate_dbLog_createalias'] = 'create alias'; diff --git a/languages/es.lang b/languages/es.lang index 44c7ffa7..d00fbef0 100644 --- a/languages/es.lang +++ b/languages/es.lang @@ -4,32 +4,33 @@ // Language file Spanish // by Alvaro // +// by Iñaki Rodríguez (irodriguez@ackstorm.es / irodriguez@virtualminds.es) $PALANG['YES'] = 'SI'; $PALANG['NO'] = 'NO'; $PALANG['edit'] = 'editar'; $PALANG['del'] = 'borrar'; -$PALANG['exit'] = 'Exit'; # XXX -$PALANG['cancel'] = 'Cancel'; # XXX -$PALANG['save'] = 'Save'; # XXX +$PALANG['exit'] = 'Salir'; +$PALANG['cancel'] = 'Cancelar'; +$PALANG['save'] = 'Salvar'; $PALANG['confirm'] = '¿Está seguro de que desea borrarlo?\n'; $PALANG['confirm_domain'] = '¿Está seguro de que desea borrar todos los registros de este dominio? ¡Esto no puede ser deshecho!\n'; -$PALANG['check_update'] = 'Check for update'; -$PALANG['invalid_parameter'] = 'Invalid parameter!'; # XXX -$PALANG['pFooter_logged_as'] = 'Logged as %s'; # XXX +$PALANG['check_update'] = 'Check for update'; # XXX +$PALANG['invalid_parameter'] = '¡Parámetro inválido!'; +$PALANG['pFooter_logged_as'] = 'Autenticado como %s'; $PALANG['pLogin_welcome'] = 'Login de administrador para administración de dominios.'; $PALANG['pLogin_username'] = 'Usuario (e-mail)'; $PALANG['pLogin_password'] = 'Contraseña'; $PALANG['pLogin_button'] = 'Usuario'; -$PALANG['pLogin_failed'] = 'Your email address or password are not correct.'; # XXX +$PALANG['pLogin_failed'] = 'La cuenta de email o la contraseña no son correctas.'; $PALANG['pLogin_login_users'] = 'Login para ir a la sección de usuarios.'; -$PALANG['pMenu_main'] = 'Main'; # XXX +$PALANG['pMenu_main'] = 'Principal'; $PALANG['pMenu_overview'] = 'Resumen'; $PALANG['pMenu_create_alias'] = 'Añadir alias'; -$PALANG['pMenu_create_alias_domain'] = 'Add Alias Domain'; # XXX +$PALANG['pMenu_create_alias_domain'] = 'Añadir alias de dominio'; $PALANG['pMenu_create_mailbox'] = 'Añadir buzón'; -$PALANG['pMenu_fetchmail'] = 'Fetch Email'; # XXX +$PALANG['pMenu_fetchmail'] = 'Obtener Emails'; $PALANG['pMenu_sendmail'] = 'Enviar e-mail'; $PALANG['pMenu_password'] = 'Contraseña'; $PALANG['pMenu_viewlog'] = 'Ver Logs'; @@ -44,62 +45,62 @@ $PALANG['pMain_password'] = 'Cambiar la contraseña para su cuenta de administra $PALANG['pMain_viewlog'] = 'Ver Logs.'; $PALANG['pMain_logout'] = 'Salir.'; -$PALANG['pOverview_disabled'] = 'Disabled'; # XXX -$PALANG['pOverview_unlimited'] = 'Unlimited'; # XXX -$PALANG['pOverview_title'] = ':: Defined Domains'; # XXX -$PALANG['pOverview_up_arrow'] = 'Go Top'; # XXX -$PALANG['pOverview_right_arrow'] = 'Next Page'; # XXX -$PALANG['pOverview_left_arrow'] = 'Previous Page'; # XXX -$PALANG['pOverview_alias_domain_title'] = ':: Domain Aliases'; # XXX -$PALANG['pOverview_alias_title'] = ':: Alias'; # XXX -$PALANG['pOverview_mailbox_title'] = ':: Mailboxes'; # XXX +$PALANG['pOverview_disabled'] = 'Deshabilitado'; +$PALANG['pOverview_unlimited'] = 'Ilimitado'; +$PALANG['pOverview_title'] = ':: Dominios Definidos'; +$PALANG['pOverview_up_arrow'] = 'Arriba'; +$PALANG['pOverview_right_arrow'] = 'Página siguiente'; +$PALANG['pOverview_left_arrow'] = 'Página anterior'; +$PALANG['pOverview_alias_domain_title'] = ':: Alias de Dominios'; +$PALANG['pOverview_alias_title'] = ':: Alias'; +$PALANG['pOverview_mailbox_title'] = ':: Buzones'; $PALANG['pOverview_button'] = 'Ir'; $PALANG['pOverview_welcome'] = 'Resumen de '; -$PALANG['pOverview_alias_domain_aliases'] = 'Alias Domains'; # XXX -$PALANG['pOverview_alias_domain_target'] = '%s is an Alias Domain for:'; # XXX -$PALANG['pOverview_alias_alias_count'] = 'Alias'; # XXX +$PALANG['pOverview_alias_domain_aliases'] = 'Alias de Dominios'; +$PALANG['pOverview_alias_domain_target'] = '%s es un alias de dominio para:'; +$PALANG['pOverview_alias_alias_count'] = 'Alias'; $PALANG['pOverview_alias_mailbox_count'] = 'Buzones'; $PALANG['pOverview_alias_address'] = 'De'; $PALANG['pOverview_alias_goto'] = 'Destino'; $PALANG['pOverview_alias_modified'] = 'Última modificación'; -$PALANG['pOverview_alias_domain_modified'] = 'Last Modified'; # XXX -$PALANG['pOverview_alias_active'] = 'Active'; # XXX -$PALANG['pOverview_alias_domain_active'] = 'Active'; # XXX -$PALANG['pOverview_alias_edit'] = 'Alias'; # XXX -$PALANG['and_x_more'] = '[and %s more...]'; # XXX +$PALANG['pOverview_alias_domain_modified'] = 'Última modificación'; +$PALANG['pOverview_alias_active'] = 'Activo'; +$PALANG['pOverview_alias_domain_active'] = 'Activo'; +$PALANG['pOverview_alias_edit'] = 'Alias'; +$PALANG['and_x_more'] = '[y %s más...]'; $PALANG['pOverview_mailbox_username'] = 'E-mail'; $PALANG['pOverview_mailbox_name'] = 'Nombre'; $PALANG['pOverview_mailbox_quota'] = 'Cuota (MB)'; $PALANG['pOverview_mailbox_modified'] = 'Última modificación'; $PALANG['pOverview_mailbox_active'] = 'Activo'; -$PALANG['pOverview_vacation_edit'] = 'VACATION IS ON'; # XXX -$PALANG['pOverview_vacation_option'] = 'Set Vacation'; # XXX +$PALANG['pOverview_vacation_edit'] = 'VACATION ESTÁ ACTIVADO'; +$PALANG['pOverview_vacation_option'] = 'Establecer Vacation'; $PALANG['pOverview_get_domain'] = 'Dominio'; $PALANG['pOverview_get_aliases'] = 'Alias'; -$PALANG['pOverview_get_alias_domains'] = 'Domain Aliases'; # XXX +$PALANG['pOverview_get_alias_domains'] = 'Alias de Dominios'; $PALANG['pOverview_get_mailboxes'] = 'Buzones'; $PALANG['pOverview_get_quota'] = 'Cuota de buzón (MB)'; $PALANG['pOverview_get_modified'] = 'Última Modificación'; $PALANG['pDelete_delete_error'] = 'Imposible borrar el registro '; -$PALANG['pDelete_delete_success'] = '%s deleted.'; # XXX -$PALANG['pDelete_postdelete_error'] = 'Unable to remove mailbox '; # XXX +$PALANG['pDelete_delete_success'] = '%s borrado.'; +$PALANG['pDelete_postdelete_error'] = 'No se pudo eliminar el buzón '; $PALANG['pDelete_domain_error'] = 'Este dominio no le pertenece '; -$PALANG['pDelete_domain_alias_error'] = 'This domain is not yours '; # XXX -$PALANG['pDelete_alias_error'] = 'Unable to delete alias '; # XXX -$PALANG['pCreate_alias_domain_welcome'] = 'Mirror addresses of one of your domains to another.'; # XXX -$PALANG['pCreate_alias_domain_alias'] = 'Alias Domain'; # XXX -$PALANG['pCreate_alias_domain_alias_text'] = 'The domain that mails come in for.'; # XXX -$PALANG['pCreate_alias_domain_target'] = 'Target Domain'; # XXX -$PALANG['pCreate_alias_domain_target_text'] = 'The domain where mails should go to.'; # XXX -$PALANG['pCreate_alias_domain_active'] = 'Active'; # XXX -$PALANG['pCreate_alias_domain_button'] = 'Add Alias Domain'; # XXX -$PALANG['pCreate_alias_domain_error1'] = 'You are not allowed to create the chosen configuration.'; # XXX -$PALANG['pCreate_alias_domain_error2'] = 'The chosen configuration is invalid, please choose a different one!'; # XXX -$PALANG['pCreate_alias_domain_error3'] = 'Database insert failed.'; # XXX -$PALANG['pCreate_alias_domain_error4'] = 'All domains are already aliased.'; # XXX -$PALANG['pCreate_alias_domain_success'] = 'The domain alias has been added to the alias domain table!'; # XXX +$PALANG['pDelete_domain_alias_error'] = 'Este dominio no te pertenece '; +$PALANG['pDelete_alias_error'] = 'No se pudo eliminar el alias '; +$PALANG['pCreate_alias_domain_welcome'] = 'Sincronizar direcciones de un dominio a otro.'; +$PALANG['pCreate_alias_domain_alias'] = 'Alias de Dominio'; +$PALANG['pCreate_alias_domain_alias_text'] = 'El dominio al que llega el email.'; +$PALANG['pCreate_alias_domain_target'] = 'Dominio de destino'; +$PALANG['pCreate_alias_domain_target_text'] = 'El dominio al que deberían ir los emails.'; +$PALANG['pCreate_alias_domain_active'] = 'Activo'; +$PALANG['pCreate_alias_domain_button'] = 'Añadir Alias de Dominio'; +$PALANG['pCreate_alias_domain_error1'] = 'No estás autorizado a crear la configuración que has elegido.'; +$PALANG['pCreate_alias_domain_error2'] = '¡La configuración seleccionada no es válida, por favor elige una diferente!'; +$PALANG['pCreate_alias_domain_error3'] = 'Falló la inserción en la base de datos.'; +$PALANG['pCreate_alias_domain_error4'] = 'Ya están todos los dominios asignados.'; +$PALANG['pCreate_alias_domain_success'] = '¡El alias de dominio se insertó en la tabla!'; $PALANG['pCreate_alias_welcome'] = 'Crear un nuevo alias para el dominio.'; $PALANG['pCreate_alias_address'] = 'Alias'; @@ -107,7 +108,7 @@ $PALANG['pCreate_alias_address_text_error1'] = '
¡ $PALANG['pCreate_alias_address_text_error2'] = '
¡Esta dirección ya existe, elija otra diferente por favor!'; $PALANG['pCreate_alias_address_text_error3'] = '
¡Ha llegado a su límite de creación de alias!'; $PALANG['pCreate_alias_goto'] = 'Destino'; -$PALANG['pCreate_alias_active'] = 'Active'; # XXX +$PALANG['pCreate_alias_active'] = 'Activo'; $PALANG['pCreate_alias_button'] = 'Añadir alias'; $PALANG['pCreate_alias_goto_text'] = 'A donde debe de ser enviado el e-mail.'; $PALANG['pCreate_alias_goto_text_error'] = 'A donde debe de ser enviado el e-mail.
¡El PARA no es válido!'; @@ -119,13 +120,13 @@ $PALANG['pEdit_alias_welcome'] = 'Edite un alias para su dominio.
Una entra $PALANG['pEdit_alias_address'] = 'Alias'; $PALANG['pEdit_alias_address_error'] = '¡Imposible de localizar el alias!'; $PALANG['pEdit_alias_goto'] = 'Destino'; -$PALANG['pEdit_alias_active'] = 'Active'; # XXX +$PALANG['pEdit_alias_active'] = 'Activo'; $PALANG['pEdit_alias_goto_text_error1'] = 'No ha introducido nada en el destino'; $PALANG['pEdit_alias_goto_text_error2'] = 'La dirección de e-mail introducida no es válida: '; $PALANG['pEdit_alias_domain_error'] = 'Este dominio no le pertenece: '; -$PALANG['pEdit_alias_domain_result_error'] = 'Unable to modify the alias domain!'; # XXX -$PALANG['pEdit_alias_forward_and_store'] = 'Deliver to the local mailbox.'; # XXX -$PALANG['pEdit_alias_forward_only'] = 'Forward to given email addresses only.'; # XXX +$PALANG['pEdit_alias_domain_result_error'] = '¡No se pudo modificar el alias de dominio!'; +$PALANG['pEdit_alias_forward_and_store'] = 'Entregar al buzón local.'; +$PALANG['pEdit_alias_forward_only'] = 'Reenviar sólo al email especificado.'; $PALANG['pEdit_alias_button'] = 'Editar alias'; $PALANG['pEdit_alias_result_error'] = '¡Imposible modificar el alias!'; @@ -177,11 +178,11 @@ $PALANG['pPassword_button'] = 'Cambiar contraseña'; $PALANG['pPassword_result_error'] = '¡Imposible cambiar la contraseña!'; $PALANG['pPassword_result_success'] = '¡Su contraseña ha sido cambiada!'; -$PALANG['pEdit_vacation_set'] = 'Change / Set away message'; # XXX -$PALANG['pEdit_vacation_remove'] = 'Remove away message'; # XXX +$PALANG['pEdit_vacation_set'] = 'Cambiar / Establecer mensaje de ausencia'; +$PALANG['pEdit_vacation_remove'] = 'Quitar mensaje de ausencia'; $PALANG['pVacation_result_error'] = '¡Imposible actualizar la configuracióne la respuesta automática!'; -$PALANG['pVacation_result_removed'] = 'Auto response has been removed!'; # XXX -$PALANG['pVacation_result_added'] = 'Auto response has been enabled!'; # XXX +$PALANG['pVacation_result_removed'] = '¡Autorespuesta eliminada!'; +$PALANG['pVacation_result_added'] = '¡Autorespuesta habilitada!'; $PALANG['pViewlog_welcome'] = 'Ver las últimas 10 acciones para '; $PALANG['pViewlog_timestamp'] = 'Fecha/Hora'; @@ -189,18 +190,18 @@ $PALANG['pViewlog_username'] = 'Administrador'; $PALANG['pViewlog_domain'] = 'Dominio'; $PALANG['pViewlog_action'] = 'Acción'; $PALANG['pViewlog_data'] = 'Datos'; -$PALANG['pViewlog_action_create_mailbox'] = 'create mailbox'; # XXX -$PALANG['pViewlog_action_delete_mailbox'] = 'delete mailbox'; # XXX -$PALANG['pViewlog_action_edit_mailbox'] = 'edit mailbox'; # XXX -$PALANG['pViewlog_action_edit_mailbox_state'] = 'edit mailbox active'; # XXX -$PALANG['pViewlog_action_create_alias'] = 'create alias'; # XXX -$PALANG['pViewlog_action_create_alias_domain'] = 'create alias domain'; # XXX -$PALANG['pViewlog_action_delete_alias'] = 'delete alias'; # XXX -$PALANG['pViewlog_action_delete_alias_domain'] = 'delete alias domain'; # XXX -$PALANG['pViewlog_action_edit_alias'] = 'edit alias'; # XXX -$PALANG['pViewlog_action_edit_alias_state'] = 'edit alias active'; # XXX -$PALANG['pViewlog_action_edit_alias_domain_state'] = 'edit alias domain active'; # XXX -$PALANG['pViewlog_action_edit_password'] = 'change password'; # XXX +$PALANG['pViewlog_action_create_mailbox'] = 'crear buzón'; +$PALANG['pViewlog_action_delete_mailbox'] = 'borrar buzón'; +$PALANG['pViewlog_action_edit_mailbox'] = 'editar buzón'; +$PALANG['pViewlog_action_edit_mailbox_state'] = 'editar buzón activo'; +$PALANG['pViewlog_action_create_alias'] = 'crear alias'; +$PALANG['pViewlog_action_create_alias_domain'] = 'crear alias de dominio'; +$PALANG['pViewlog_action_delete_alias'] = 'borrar alias'; +$PALANG['pViewlog_action_delete_alias_domain'] = 'borrar alias de dominio'; +$PALANG['pViewlog_action_edit_alias'] = 'editar alias'; +$PALANG['pViewlog_action_edit_alias_state'] = 'editar alias activo'; +$PALANG['pViewlog_action_edit_alias_domain_state'] = 'editar alias de dominio activo'; +$PALANG['pViewlog_action_edit_password'] = 'cambiar contraseña'; $PALANG['pViewlog_button'] = 'Ir'; $PALANG['pViewlog_result_error'] = '¡Imposible encontrar los logs!'; @@ -213,8 +214,8 @@ $PALANG['pSendmail_subject'] = 'Asunto'; $PALANG['pSendmail_subject_text'] = 'Bienvenido'; $PALANG['pSendmail_body'] = 'Cuerpo'; $PALANG['pSendmail_button'] = 'Enviar mensaje'; -$PALANG['pSendmail_result_error'] = '¡Imposible crear el buzón!'; # XXX text change - new: Unable to send email! -$PALANG['pSendmail_result_success'] = '¡El buzón ha sido creado!'; # XXX text change - new: Email sent! +$PALANG['pSendmail_result_error'] = '¡Imposible enviar el email!'; +$PALANG['pSendmail_result_success'] = '¡Email enviado!'; $PALANG['pAdminMenu_list_admin'] = 'Lista de administradores'; $PALANG['pAdminMenu_list_domain'] = 'Lista de dominios'; @@ -238,7 +239,7 @@ $PALANG['pAdminList_domain_description'] = 'Descripción'; $PALANG['pAdminList_domain_aliases'] = 'Alias'; $PALANG['pAdminList_domain_mailboxes'] = 'Buzones'; $PALANG['pAdminList_domain_maxquota'] = 'Cuota Máxima (MB)'; -$PALANG['pAdminList_domain_transport'] = 'Transport'; # XXX +$PALANG['pAdminList_domain_transport'] = 'Transporte'; $PALANG['pAdminList_domain_backupmx'] = 'Backup MX'; # XXX $PALANG['pAdminList_domain_modified'] = 'Última Modificación'; $PALANG['pAdminList_domain_active'] = 'Activo'; @@ -259,7 +260,7 @@ $PALANG['pAdminList_virtual_mailbox_active'] = 'Activo'; $PALANG['pAdminCreate_domain_welcome'] = 'Añadir nuevo dominio'; $PALANG['pAdminCreate_domain_domain'] = 'Dominio'; $PALANG['pAdminCreate_domain_domain_text_error'] = '¡El dominio ya existe!'; -$PALANG['pAdminCreate_domain_domain_text_error2'] = 'The domain is invalid!'; # XXX +$PALANG['pAdminCreate_domain_domain_text_error2'] = '!El dominio no es válido!'; $PALANG['pAdminCreate_domain_description'] = 'Descripción'; $PALANG['pAdminCreate_domain_aliases'] = 'Alias'; $PALANG['pAdminCreate_domain_aliases_text'] = '-1 = deshabilitar | 0 = ilimitado'; @@ -268,15 +269,15 @@ $PALANG['pAdminCreate_domain_mailboxes_text'] = '-1 = deshabilitar | 0 = ilimita $PALANG['pAdminCreate_domain_maxquota'] = 'Cuota máxima'; $PALANG['pAdminCreate_domain_maxquota_text'] = 'MB
-1 = deshabilitar | 0 = ilimitado'; $PALANG['pAdminCreate_domain_transport'] = 'Transport'; # XXX -$PALANG['pAdminCreate_domain_transport_text'] = 'Define transport'; # XXX +$PALANG['pAdminCreate_domain_transport_text'] = 'Definir transport'; # XXX $PALANG['pAdminCreate_domain_defaultaliases'] = 'Añadir alias por defecto'; $PALANG['pAdminCreate_domain_defaultaliases_text'] = ''; -$PALANG['pAdminCreate_domain_backupmx'] = 'Mail server is backup MX'; # XXX +$PALANG['pAdminCreate_domain_backupmx'] = 'El servidor de correo es backup MX'; # XXX $PALANG['pAdminCreate_domain_button'] = 'Añadir dominio'; $PALANG['pAdminCreate_domain_result_error'] = '¡Imposible añadir el dominio!'; $PALANG['pAdminCreate_domain_result_success'] = '¡El dominio ha sido añadido!'; -$PALANG['pAdminDelete_domain_error'] = 'Unable to remove domain!'; # XXX -$PALANG['pAdminDelete_alias_domain_error'] = 'Unable to remove domain alias!'; # XXX +$PALANG['pAdminDelete_domain_error'] = '¡No se pudo eliminar el dominio!'; +$PALANG['pAdminDelete_alias_domain_error'] = '¡No se pudo eliminar el alias de dominio!'; $PALANG['pAdminEdit_domain_welcome'] = 'Editar un dominio'; $PALANG['pAdminEdit_domain_domain'] = 'Dominio'; @@ -288,8 +289,8 @@ $PALANG['pAdminEdit_domain_mailboxes_text'] = '-1 = deshabilitar | 0 = ilimitado $PALANG['pAdminEdit_domain_maxquota'] = 'Cuota máxima'; $PALANG['pAdminEdit_domain_maxquota_text'] = 'MB
-1 = deshabilitar | 0 = ilimitado'; $PALANG['pAdminEdit_domain_transport'] = 'Transport'; -$PALANG['pAdminEdit_domain_transport_text'] = 'Define transport'; # XXX -$PALANG['pAdminEdit_domain_backupmx'] = 'Mail server is backup MX'; # XXX +$PALANG['pAdminEdit_domain_transport_text'] = 'Definir transport'; # XXX +$PALANG['pAdminEdit_domain_backupmx'] = 'El servidor de correo es backup MX'; # XXX $PALANG['pAdminEdit_domain_active'] = 'Activo'; $PALANG['pAdminEdit_domain_button'] = 'Editar dominio'; $PALANG['pAdminEdit_domain_result_error'] = '¡Imposible modificar el dominio!'; @@ -331,7 +332,7 @@ $PALANG['pUsersMenu_edit_alias'] = 'Cambiar la redirección'; $PALANG['pUsersMenu_password'] = 'Cambiar la contraseña'; $PALANG['pUsersMain_vacation'] = 'Configure un mensaje de "fuera del trabajo" o una respuesta automática para su correo.'; -$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' is ON, click \'' . $PALANG['pUsersMenu_vacation'] . '\' to ' . $PALANG['edit'] . '/remove'; # XXX +$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' está ACTIVADO, click \'' . $PALANG['pUsersMenu_vacation'] . '\' para ' . $PALANG['edit'] . '/eliminar'; $PALANG['pUsersMain_edit_alias'] = 'Cambie su redirección de correo.'; $PALANG['pUsersMain_password'] = 'Cambie su contraseña.'; @@ -339,7 +340,7 @@ $PALANG['pUsersVacation_welcome'] = 'Respuesta automática.'; $PALANG['pUsersVacation_welcome_text'] = '¡Ya dispone de una respuesta automática configurada!'; $PALANG['pUsersVacation_subject'] = 'Asunto'; $PALANG['pUsersVacation_subject_text'] = 'Fuera del trabajo'; -$PALANG['pUsersVacation_body'] = 'Cuerpo'; # XXX text changed to 'Message' +$PALANG['pUsersVacation_body'] = 'Mensaje'; $PALANG['pUsersVacation_body_text'] = << hasta . Para asuntos urgentes, puede contactar conmigo en . @@ -348,76 +349,78 @@ $PALANG['pUsersVacation_button_away'] = 'Ausente'; $PALANG['pUsersVacation_button_back'] = 'De vuelta'; $PALANG['pUsersVacation_result_error'] = '¡Imposible actualizar la configuración de su respuesta automática!'; $PALANG['pUsersVacation_result_success'] = '¡Su respuesta automática ha sido borrada!'; - -$PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX -$PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX -$PALANG['pDelete_dbLog_deletealias'] = 'delete alias'; # XXX -$PALANG['pDelete_dbLog_deletemailbox'] = 'delete mailbox'; # XXX - -$PALANG['pEdit_dbLog_editactive'] = 'change active state'; # XXX -$PALANG['pEdit_dbLog_editalias'] = 'edit alias'; # XXX -$PALANG['pEdit_dbLog_editmailbox'] = 'edit mailbox'; # XXX - -$PALANG['pSearch'] = 'search'; # XXX -$PALANG['pSearch_welcome'] = 'Searching for: '; # XXX -$PALANG['pReturn_to'] = 'Return to'; # XXX -$PALANG['pBroadcast_title'] = 'Send broadcast message'; # XXX -$PALANG['pBroadcast_from'] = 'From'; # XXX -$PALANG['pBroadcast_name'] = 'Your name'; # XXX -$PALANG['pBroadcast_subject'] = 'Subject'; # XXX -$PALANG['pBroadcast_message'] = 'Message'; # XXX -$PALANG['pBroadcast_send'] = 'Send message'; # XXX -$PALANG['pBroadcast_success'] = 'Your broadcast message was sent.'; # XXX +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX + +$PALANG['pCreate_dbLog_createmailbox'] = 'crear buzón'; +$PALANG['pCreate_dbLog_createalias'] = 'crear alias'; +$PALANG['pDelete_dbLog_deletealias'] = 'borrar alias'; +$PALANG['pDelete_dbLog_deletemailbox'] = 'borrar buzón'; + +$PALANG['pEdit_dbLog_editactive'] = 'cambiar estado activo'; +$PALANG['pEdit_dbLog_editalias'] = 'editar alias'; +$PALANG['pEdit_dbLog_editmailbox'] = 'editar buzón'; + +$PALANG['pSearch'] = 'buscar'; +$PALANG['pSearch_welcome'] = 'Buscando: '; +$PALANG['pReturn_to'] = 'Volver a'; +$PALANG['pBroadcast_title'] = 'Enviar mensaje a todos'; # XXX +$PALANG['pBroadcast_from'] = 'De'; +$PALANG['pBroadcast_name'] = 'Tu nombre'; +$PALANG['pBroadcast_subject'] = 'Asunto'; +$PALANG['pBroadcast_message'] = 'Mensaje'; +$PALANG['pBroadcast_send'] = 'Enviar mensaje'; +$PALANG['pBroadcast_success'] = 'Se ha enviado el mensaje.'; $PALANG['pAdminMenu_broadcast_message'] = 'Broadcast message'; # XXX -$PALANG['pBroadcast_error_empty'] = 'The fields Name, Subject and Message should\'t be empty !'; # XXX -$PALANG['pStatus_undeliverable'] = 'maybe UNDELIVERABLE '; # XXX -$PALANG['pStatus_custom'] = 'Delivers to '; # XXX +$PALANG['pBroadcast_error_empty'] = '¡Los campos Nombre, Asunto y Mensaje no pueden estar vacíos!'; +$PALANG['pStatus_undeliverable'] = 'posiblemente NO SE ENTREGÓ'; +$PALANG['pStatus_custom'] = 'Enviado a '; $PALANG['pStatus_popimap'] = 'POP/IMAP '; # XXX -$PALANG['pPasswordTooShort'] = "Password is too short - requires %s characters"; # XXX -$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX -$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX -$PALANG['pInvalidMailRegex'] = "Invalid email address, fails regexp check"; # XXX -$PALANG['pFetchmail_welcome'] = 'Fetch mail for:'; # XXX -$PALANG['pFetchmail_new_entry'] = 'New entry'; # XXX -$PALANG['pFetchmail_database_save_error'] = 'Could not save this entry in the database!'; # XXX -$PALANG['pFetchmail_database_save_success'] = 'Entry saved in database.'; # XXX +$PALANG['pPasswordTooShort'] = "La contraseña es demasiado corta - se necesitan %s caracteres"; +$PALANG['pInvalidDomainRegex'] = "El nombre de dominio %s es inválido, no se ajusta a la expresión regular"; +$PALANG['pInvalidDomainDNS'] = "El dominio %s no es válido, y/o no tiene resolución DNS"; +$PALANG['pInvalidMailRegex'] = "La dirección de email no es válidas, no se ajusta a la expresión regular"; +$PALANG['pFetchmail_welcome'] = 'Obtener mail para:'; +$PALANG['pFetchmail_new_entry'] = 'Nueva entrada'; +$PALANG['pFetchmail_database_save_error'] = '¡No se pudo salvar la entrada en la base de datos!'; +$PALANG['pFetchmail_database_save_success'] = 'Entrada salvada en la base de datos.'; $PALANG['pFetchmail_error_invalid_id'] = 'No entry with ID %s found!'; # XXX -$PALANG['pFetchmail_invalid_mailbox'] = 'Invalid mailbox!'; # XXX -$PALANG['pFetchmail_server_missing'] = 'Please enter the remote server name!'; # XXX -$PALANG['pFetchmail_user_missing'] = 'Please enter the remote username!'; # XXX -$PALANG['pFetchmail_password_missing'] = 'Please enter the remote password!'; # XXX +$PALANG['pFetchmail_invalid_mailbox'] = '¡Buzón inválido!'; +$PALANG['pFetchmail_server_missing'] = '¡Por favor introduzca el nombre del servidor remoto!'; +$PALANG['pFetchmail_user_missing'] = '¡Por favor introduzca el usuario remoto!'; +$PALANG['pFetchmail_password_missing'] = '¡Por favor introduzca la contraseña remota!'; $PALANG['pFetchmail_field_id'] = 'ID'; # XXX -$PALANG['pFetchmail_field_mailbox'] = 'Mailbox'; # XXX -$PALANG['pFetchmail_field_src_server'] = 'Server'; # XXX -$PALANG['pFetchmail_field_src_auth'] = 'Auth Type'; # XXX -$PALANG['pFetchmail_field_src_user'] = 'User'; # XXX -$PALANG['pFetchmail_field_src_password'] = 'Password'; # XXX -$PALANG['pFetchmail_field_src_folder'] = 'Folder'; # XXX +$PALANG['pFetchmail_field_mailbox'] = 'Buzón'; +$PALANG['pFetchmail_field_src_server'] = 'Servidor'; +$PALANG['pFetchmail_field_src_auth'] = 'Tipo Autenticación'; +$PALANG['pFetchmail_field_src_user'] = 'Usuario'; +$PALANG['pFetchmail_field_src_password'] = 'Contraseña'; +$PALANG['pFetchmail_field_src_folder'] = 'Carpeta'; $PALANG['pFetchmail_field_poll_time'] = 'Poll'; # XXX -$PALANG['pFetchmail_field_fetchall'] = 'Fetch All'; # XXX -$PALANG['pFetchmail_field_keep'] = 'Keep'; # XXX -$PALANG['pFetchmail_field_protocol'] = 'Protocol'; # XXX -$PALANG['pFetchmail_field_usessl'] = 'SSL active'; # XXX -$PALANG['pFetchmail_field_extra_options'] = 'Extra Options'; # XXX +$PALANG['pFetchmail_field_fetchall'] = 'Obtener todo'; +$PALANG['pFetchmail_field_keep'] = 'Conservar'; +$PALANG['pFetchmail_field_protocol'] = 'Protocolo'; +$PALANG['pFetchmail_field_usessl'] = 'SSL activado'; +$PALANG['pFetchmail_field_extra_options'] = 'Opciones extras'; $PALANG['pFetchmail_field_mda'] = 'MDA'; # XXX -$PALANG['pFetchmail_field_date'] = 'Date'; # XXX -$PALANG['pFetchmail_field_returned_text'] = 'Returned Text'; # XXX +$PALANG['pFetchmail_field_date'] = 'Fecha'; +$PALANG['pFetchmail_field_returned_text'] = 'Texto Devuelto'; $PALANG['pFetchmail_desc_id'] = 'Record ID'; # XXX -$PALANG['pFetchmail_desc_mailbox'] = 'Local mailbox'; # XXX -$PALANG['pFetchmail_desc_src_server'] = 'Remote Server'; # XXX +$PALANG['pFetchmail_desc_mailbox'] = 'Buzón local'; +$PALANG['pFetchmail_desc_src_server'] = 'Servidor Remoto'; $PALANG['pFetchmail_desc_src_auth'] = 'Mostly \'password\''; # Translators: Please do NOT translate 'password' here # XXX -$PALANG['pFetchmail_desc_src_user'] = 'Remote User'; # XXX -$PALANG['pFetchmail_desc_src_password'] = 'Remote Password'; # XXX -$PALANG['pFetchmail_desc_src_folder'] = 'Remote Folder'; # XXX -$PALANG['pFetchmail_desc_poll_time'] = 'Poll every ... minutes'; # XXX -$PALANG['pFetchmail_desc_fetchall'] = 'Retrieve both old (seen) and new messages'; # XXX -$PALANG['pFetchmail_desc_keep'] = 'Keep retrieved messages on the remote mailserver'; # XXX -$PALANG['pFetchmail_desc_protocol'] = 'Protocol to use'; # XXX -$PALANG['pFetchmail_desc_usessl'] = 'SSL encryption'; # XXX -$PALANG['pFetchmail_desc_extra_options'] = 'Extra fetchmail Options'; # XXX +$PALANG['pFetchmail_desc_src_user'] = 'Usuario Remoto'; +$PALANG['pFetchmail_desc_src_password'] = 'Contraseña Remota'; +$PALANG['pFetchmail_desc_src_folder'] = 'Carpeta Remota'; +$PALANG['pFetchmail_desc_poll_time'] = 'Obtener cada ... minutos'; +$PALANG['pFetchmail_desc_fetchall'] = 'Obtener los mensajes leídos y nuevos'; +$PALANG['pFetchmail_desc_keep'] = 'Guardar una copia de los mensajes en el servidor remoto'; +$PALANG['pFetchmail_desc_protocol'] = 'Protocolo a usar'; +$PALANG['pFetchmail_desc_usessl'] = 'Cifrado SSL'; +$PALANG['pFetchmail_desc_extra_options'] = 'Opciones extras para fetchmail'; $PALANG['pFetchmail_desc_mda'] = 'Mail Delivery Agent'; # XXX -$PALANG['pFetchmail_desc_date'] = 'Date of last polling/configuration change'; # XXX -$PALANG['pFetchmail_desc_returned_text'] = 'Text message from last polling'; # XXX +$PALANG['pFetchmail_desc_date'] = 'Fecha del último sondeo/cambio en la configuración'; +$PALANG['pFetchmail_desc_returned_text'] = 'Mensaje del último sondeo'; $PALANG['please_keep_this_as_last_entry'] = ''; # needed for language-check.sh /* vim: set expandtab ft=php softtabstop=3 tabstop=3 shiftwidth=3: */ diff --git a/languages/et.lang b/languages/et.lang index 32e404ec..775ba5ca 100644 --- a/languages/et.lang +++ b/languages/et.lang @@ -350,6 +350,8 @@ $PALANG['pUsersVacation_button_away'] = 'Olen eemal alates'; $PALANG['pUsersVacation_button_back'] = 'Tulen tagasi'; $PALANG['pUsersVacation_result_error'] = 'Automaatse vastuse uuendamine ebaõnnestus!'; $PALANG['pUsersVacation_result_success'] = 'Automaatne vastus on eemaldatud!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'postkasti loomine'; $PALANG['pCreate_dbLog_createalias'] = 'aliase loomine'; diff --git a/languages/eu.lang b/languages/eu.lang index 422f6fac..6d6c8373 100644 --- a/languages/eu.lang +++ b/languages/eu.lang @@ -346,6 +346,8 @@ $PALANG['pUsersVacation_button_away'] = 'Aldeginda'; $PALANG['pUsersVacation_button_back'] = 'Itzulita'; $PALANG['pUsersVacation_result_error'] = 'Ezinezkoa zure erantzun atomatikoaren konfigurazioa eguneratzea!'; $PALANG['pUsersVacation_result_success'] = 'Zure erantzun automatikoa borratu da!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/fi.lang b/languages/fi.lang index 4e21e48b..37ba99c0 100644 --- a/languages/fi.lang +++ b/languages/fi.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = 'Lomalle'; $PALANG['pUsersVacation_button_back'] = 'Takaisin lomalta'; $PALANG['pUsersVacation_result_error'] = 'Automaattivastauksen asettaminen epäonnistui!'; $PALANG['pUsersVacation_result_success'] = 'Automaattivastaus on poistettu käytöstä!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'luo sähköpostilaatikko'; $PALANG['pCreate_dbLog_createalias'] = 'luo alias'; diff --git a/languages/fo.lang b/languages/fo.lang index aff791c4..97801e17 100644 --- a/languages/fo.lang +++ b/languages/fo.lang @@ -352,6 +352,8 @@ $PALANG['pUsersVacation_button_away'] = 'Burtur'; $PALANG['pUsersVacation_button_back'] = 'Heima'; $PALANG['pUsersVacation_result_error'] = 'Fái ikki broytt tínar frítíðarboð uppsetingar!'; $PALANG['pUsersVacation_result_success'] = 'Títt frítíðarboð er strikað!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/fr.lang b/languages/fr.lang index 794f9ca6..1909b932 100644 --- a/languages/fr.lang +++ b/languages/fr.lang @@ -24,13 +24,13 @@ $PALANG['pLogin_welcome'] = 'Entrez votre adresse courriel pour administrer votr $PALANG['pLogin_username'] = 'Adresse courriel'; $PALANG['pLogin_password'] = 'Mot de passe'; $PALANG['pLogin_button'] = 'Entrer'; -$PALANG['pLogin_failed'] = 'Your email address or password are not correct.'; # XXX +$PALANG['pLogin_failed'] = 'Votre email ou mot de passe est incorrect.'; $PALANG['pLogin_login_users'] = 'Utilisateurs, cliquez ici pour rejoindre votre section.'; $PALANG['pMenu_main'] = 'Menu principal'; $PALANG['pMenu_overview'] = 'Vue d\'ensemble'; $PALANG['pMenu_create_alias'] = 'Ajouter un alias'; -$PALANG['pMenu_create_alias_domain'] = 'Add Alias Domain'; # XXX +$PALANG['pMenu_create_alias_domain'] = 'Ajouter un alias de domaine'; $PALANG['pMenu_create_mailbox'] = 'Ajouter un compte courriel'; $PALANG['pMenu_fetchmail'] = 'Récupérer le courrier'; $PALANG['pMenu_sendmail'] = 'Envoyer un courriel'; @@ -53,21 +53,21 @@ $PALANG['pOverview_title'] = ':: Domaines définis'; $PALANG['pOverview_up_arrow'] = 'Remonter'; $PALANG['pOverview_right_arrow'] = 'Page suivante'; $PALANG['pOverview_left_arrow'] = 'Page précédente'; -$PALANG['pOverview_alias_domain_title'] = ':: Domain Aliases'; # XXX +$PALANG['pOverview_alias_domain_title'] = ':: Alias Domaine'; $PALANG['pOverview_alias_title'] = ':: Alias'; $PALANG['pOverview_mailbox_title'] = ':: Comptes courriels'; $PALANG['pOverview_button'] = 'Aller'; $PALANG['pOverview_welcome'] = 'Vue d\'ensemble pour '; -$PALANG['pOverview_alias_domain_aliases'] = 'Alias Domains'; # XXX -$PALANG['pOverview_alias_domain_target'] = '%s is an Alias Domain for:'; # XXX +$PALANG['pOverview_alias_domain_aliases'] = 'Alias Domaines'; +$PALANG['pOverview_alias_domain_target'] = '%s est un alias de domaine pour:'; $PALANG['pOverview_alias_alias_count'] = 'Alias'; $PALANG['pOverview_alias_mailbox_count'] = 'Comptes courriels'; $PALANG['pOverview_alias_address'] = 'De'; $PALANG['pOverview_alias_goto'] = 'A'; $PALANG['pOverview_alias_modified'] = 'Dernière Modification'; -$PALANG['pOverview_alias_domain_modified'] = 'Last Modified'; # XXX +$PALANG['pOverview_alias_domain_modified'] = 'Dernière Modification'; $PALANG['pOverview_alias_active'] = 'Activé'; -$PALANG['pOverview_alias_domain_active'] = 'Active'; # XXX +$PALANG['pOverview_alias_domain_active'] = 'Activé'; $PALANG['pOverview_alias_edit'] = 'Alias'; $PALANG['and_x_more'] = '[et %s en plus...]'; $PALANG['pOverview_mailbox_username'] = 'courriel'; @@ -80,7 +80,7 @@ $PALANG['pOverview_vacation_option'] = 'Configurer le répondeur'; $PALANG['pOverview_get_domain'] = 'Domaine'; $PALANG['pOverview_get_aliases'] = 'Alias'; -$PALANG['pOverview_get_alias_domains'] = 'Domain Aliases'; # XXX +$PALANG['pOverview_get_alias_domains'] = 'Alias Domaine'; $PALANG['pOverview_get_mailboxes'] = 'Comptes courriels'; $PALANG['pOverview_get_quota'] = 'Limite compte courriels (MB)'; $PALANG['pOverview_get_modified'] = 'Dernière Modification'; @@ -89,20 +89,20 @@ $PALANG['pDelete_delete_error'] = 'Impossible d\'effacer $PALANG['pDelete_delete_success'] = '%s supprimé.'; $PALANG['pDelete_postdelete_error'] = 'Impossible d\'effacer ce compte courriel'; $PALANG['pDelete_domain_error'] = 'Ce domaine n\'est pas le votre '; -$PALANG['pDelete_domain_alias_error'] = 'This domain is not yours '; # XXX +$PALANG['pDelete_domain_alias_error'] = 'Ce domaine n\'est pas le votre '; $PALANG['pDelete_alias_error'] = 'Impossible d\'effacer cet alias '; -$PALANG['pCreate_alias_domain_welcome'] = 'Mirror addresses of one of your domains to another.'; # XXX -$PALANG['pCreate_alias_domain_alias'] = 'Alias Domain'; # XXX -$PALANG['pCreate_alias_domain_alias_text'] = 'The domain that mails come in for.'; # XXX -$PALANG['pCreate_alias_domain_target'] = 'Target Domain'; # XXX -$PALANG['pCreate_alias_domain_target_text'] = 'The domain where mails should go to.'; # XXX -$PALANG['pCreate_alias_domain_active'] = 'Active'; # XXX -$PALANG['pCreate_alias_domain_button'] = 'Add Alias Domain'; # XXX -$PALANG['pCreate_alias_domain_error1'] = 'You are not allowed to create the chosen configuration.'; # XXX -$PALANG['pCreate_alias_domain_error2'] = 'The chosen configuration is invalid, please choose a different one!'; # XXX -$PALANG['pCreate_alias_domain_error3'] = 'Database insert failed.'; # XXX -$PALANG['pCreate_alias_domain_error4'] = 'All domains are already aliased.'; # XXX -$PALANG['pCreate_alias_domain_success'] = 'The domain alias has been added to the alias domain table!'; # XXX +$PALANG['pCreate_alias_domain_welcome'] = 'Les adresses mirroirs de l\'un de vos domaines vers un autre.'; +$PALANG['pCreate_alias_domain_alias'] = 'Alias Domaine'; +$PALANG['pCreate_alias_domain_alias_text'] = 'Le domaine dans lequel les courriels viennent.'; +$PALANG['pCreate_alias_domain_target'] = 'Domaine Cible'; +$PALANG['pCreate_alias_domain_target_text'] = 'Le domaine o les mails doivent aller.'; +$PALANG['pCreate_alias_domain_active'] = 'Activé'; +$PALANG['pCreate_alias_domain_button'] = 'Ajouter un Alias de Domaine'; +$PALANG['pCreate_alias_domain_error1'] = 'Vous n\'etes pas autorisé a créer la configuration choisie.'; +$PALANG['pCreate_alias_domain_error2'] = 'La configuration choisie est invalide, merci d\'en choisir une autre!'; +$PALANG['pCreate_alias_domain_error3'] = 'Insertion dans la base de donnée échouée.'; +$PALANG['pCreate_alias_domain_error4'] = 'Tous les domaines sont déj liés un alias.'; +$PALANG['pCreate_alias_domain_success'] = 'L\'alias de domaine est déj prsent dans la table de domaine!'; $PALANG['pCreate_alias_welcome'] = 'Créer un nouvel alias pour votre domaine.'; $PALANG['pCreate_alias_address'] = 'Alias'; $PALANG['pCreate_alias_address_text_error1'] = '
Cet ALIAS n\'est pas valide!'; @@ -125,7 +125,7 @@ $PALANG['pEdit_alias_active'] = 'Activé'; $PALANG['pEdit_alias_goto_text_error1'] = 'Vous devez entrer quelques choses dans le champ À'; $PALANG['pEdit_alias_goto_text_error2'] = 'L\'adresse courriel que vous avez entré est invalide: '; $PALANG['pEdit_alias_domain_error'] = 'Ce domaine n\'est pas le votre: '; -$PALANG['pEdit_alias_domain_result_error'] = 'Unable to modify the alias domain!'; # XXX +$PALANG['pEdit_alias_domain_result_error'] = 'Impossible de modifier cet alias de domaine!'; $PALANG['pEdit_alias_forward_and_store'] = 'Transferer une copie.'; $PALANG['pEdit_alias_forward_only'] = 'Transferer les messages sans conserver de copie.'; $PALANG['pEdit_alias_button'] = 'Modifier cet alias'; @@ -195,12 +195,12 @@ $PALANG['pViewlog_action_delete_mailbox'] = 'supprimer un compte courriel'; $PALANG['pViewlog_action_edit_mailbox'] = 'éditer un compte courriel'; $PALANG['pViewlog_action_edit_mailbox_state'] = 'activer un compte courriel'; $PALANG['pViewlog_action_create_alias'] = 'créer un alias'; -$PALANG['pViewlog_action_create_alias_domain'] = 'create alias domain'; # XXX +$PALANG['pViewlog_action_create_alias_domain'] = 'créer un alias de domaine'; $PALANG['pViewlog_action_delete_alias'] = 'supprimer un alias'; -$PALANG['pViewlog_action_delete_alias_domain'] = 'delete alias domain'; # XXX +$PALANG['pViewlog_action_delete_alias_domain'] = 'supprimer un alias de domaine'; $PALANG['pViewlog_action_edit_alias'] = 'éditer un alias'; $PALANG['pViewlog_action_edit_alias_state'] = 'activer un alias'; -$PALANG['pViewlog_action_edit_alias_domain_state'] = 'edit alias domain active'; # XXX +$PALANG['pViewlog_action_edit_alias_domain_state'] = 'editer alias de domaine actif'; $PALANG['pViewlog_action_edit_password'] = 'changer le mot de passe'; $PALANG['pViewlog_button'] = 'Aller'; @@ -214,8 +214,8 @@ $PALANG['pSendmail_subject'] = 'Sujet'; $PALANG['pSendmail_subject_text'] = 'Bienvenue'; $PALANG['pSendmail_body'] = 'Message'; $PALANG['pSendmail_button'] = 'Envoyer le message'; -$PALANG['pSendmail_result_error'] = 'Erreur lors de l\'envoit du message!'; # XXX text change - new: Unable to send email! -$PALANG['pSendmail_result_success'] = 'Le message a été envoyé!'; # XXX text change - new: Email sent! +$PALANG['pSendmail_result_error'] = 'Erreur lors de l\'envoit du message!'; +$PALANG['pSendmail_result_success'] = 'Le message a été envoyé!'; $PALANG['pAdminMenu_list_admin'] = 'Liste Administrateurs'; $PALANG['pAdminMenu_list_domain'] = 'Liste Domaines'; @@ -240,7 +240,7 @@ $PALANG['pAdminList_domain_aliases'] = 'Alias'; $PALANG['pAdminList_domain_mailboxes'] = 'Comptes courriels'; $PALANG['pAdminList_domain_maxquota'] = 'Limite maximum (MB)'; $PALANG['pAdminList_domain_transport'] = 'Transport'; -$PALANG['pAdminList_domain_backupmx'] = 'Backup MX'; # XXX +$PALANG['pAdminList_domain_backupmx'] = 'MX Backup'; $PALANG['pAdminList_domain_modified'] = 'Dernière modification'; $PALANG['pAdminList_domain_active'] = 'Actif'; @@ -261,7 +261,7 @@ $PALANG['pAdminCreate_domain_welcome'] = 'Ajouter un nouveau domaine'; $PALANG['pAdminCreate_domain_domain'] = 'Domaine'; $PALANG['pAdminCreate_domain_domain_text_error'] = 'Le domaine existe déjà!'; $PALANG['pAdminCreate_domain_domain_text_error2'] = 'Le domaine est non valide!'; -$PALANG['pAdminCreate_domain_description'] = 'Description'; # XXX +$PALANG['pAdminCreate_domain_description'] = 'Description'; $PALANG['pAdminCreate_domain_aliases'] = 'Alias'; $PALANG['pAdminCreate_domain_aliases_text'] = '-1 = désactivé | 0 = illimité'; $PALANG['pAdminCreate_domain_mailboxes'] = 'Comptes courriels'; @@ -278,7 +278,7 @@ $PALANG['pAdminCreate_domain_result_error'] = 'Impossibl $PALANG['pAdminCreate_domain_result_success'] = 'Le domaine a été ajouté!'; $PALANG['pAdminDelete_domain_error'] = 'Impossible de supprimer le domain!'; -$PALANG['pAdminDelete_alias_domain_error'] = 'Unable to remove domain alias!'; # XXX +$PALANG['pAdminDelete_alias_domain_error'] = 'Impossible de supprimé cet alias de domaine!'; $PALANG['pAdminEdit_domain_welcome'] = 'Modifier un domaine'; $PALANG['pAdminEdit_domain_domain'] = 'Domaine'; @@ -340,7 +340,7 @@ $PALANG['pUsersVacation_welcome'] = 'Répondeur Automatique.'; $PALANG['pUsersVacation_welcome_text'] = 'Votre repondeur automatique est déjà configuré!'; $PALANG['pUsersVacation_subject'] = 'Sujet'; $PALANG['pUsersVacation_subject_text'] = 'En dehors du bureau'; -$PALANG['pUsersVacation_body'] = 'Message'; # XXX +$PALANG['pUsersVacation_body'] = 'Message'; $PALANG['pUsersVacation_body_text'] = << jusqu\'au . Pour toute urgence, merci de contacter . @@ -349,6 +349,8 @@ $PALANG['pUsersVacation_button_away'] = 'Absence'; $PALANG['pUsersVacation_button_back'] = 'De retour'; $PALANG['pUsersVacation_result_error'] = 'Impossible de mettre à jour vos paramètres de réponse automatique!'; $PALANG['pUsersVacation_result_success'] = 'Votre réponse automatique a été enlevée!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'Création de compte'; $PALANG['pCreate_dbLog_createalias'] = 'Création d\'alias'; @@ -375,9 +377,9 @@ $PALANG['pStatus_undeliverable'] = 'Non délivrable '; $PALANG['pStatus_custom'] = 'Délivré à '; $PALANG['pStatus_popimap'] = 'POP/IMAP '; $PALANG['pPasswordTooShort'] = "Mot de passe trop court. - %s caractères minimum"; -$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX -$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX -$PALANG['pInvalidMailRegex'] = "Invalid email address, fails regexp check"; # XXX +$PALANG['pInvalidDomainRegex'] = "Nom de Domaine Invalide %s, vérification regexp impossible"; +$PALANG['pInvalidDomainDNS'] = "Domaine Invalide %s, et/ou non resolvable via les DNS"; +$PALANG['pInvalidMailRegex'] = "Adresse email invalide, vérification regexp impossible"; $PALANG['pFetchmail_welcome'] = 'Récupérer le courrier pour :'; $PALANG['pFetchmail_new_entry'] = 'Nouvelle entrée'; $PALANG['pFetchmail_database_save_error'] = 'Impossible d\'enregistrer cette entrée dans la base!'; @@ -387,7 +389,7 @@ $PALANG['pFetchmail_invalid_mailbox'] = 'Compte courriel incorrect!'; $PALANG['pFetchmail_server_missing'] = 'Merci d\'entrer le nom du serveur distant!'; $PALANG['pFetchmail_user_missing'] = 'Merci d\'entrer le nom de l\'utilisateur distant!'; $PALANG['pFetchmail_password_missing'] = 'Merci d\'entrer le mot de passe distant!'; -$PALANG['pFetchmail_field_id'] = 'ID'; # XXX +$PALANG['pFetchmail_field_id'] = 'ID'; $PALANG['pFetchmail_field_mailbox'] = 'Compte courriel'; $PALANG['pFetchmail_field_src_server'] = 'Serveur'; $PALANG['pFetchmail_field_src_auth'] = 'Type Auth'; @@ -398,10 +400,10 @@ $PALANG['pFetchmail_field_poll_time'] = 'Fréquence'; $PALANG['pFetchmail_field_fetchall'] = 'Tout récupérer'; $PALANG['pFetchmail_field_keep'] = 'Conserver'; $PALANG['pFetchmail_field_protocol'] = 'Protocole'; -$PALANG['pFetchmail_field_usessl'] = 'SSL active'; # XXX +$PALANG['pFetchmail_field_usessl'] = 'SSL activé'; $PALANG['pFetchmail_field_extra_options'] = 'Options supplémentaires'; -$PALANG['pFetchmail_field_mda'] = 'MDA'; # XXX -$PALANG['pFetchmail_field_date'] = 'Date'; # XXX +$PALANG['pFetchmail_field_mda'] = 'MDA'; +$PALANG['pFetchmail_field_date'] = 'Date'; $PALANG['pFetchmail_field_returned_text'] = 'Message retour'; $PALANG['pFetchmail_desc_id'] = 'Identifiant'; $PALANG['pFetchmail_desc_mailbox'] = 'Compte courriel local'; @@ -414,9 +416,9 @@ $PALANG['pFetchmail_desc_poll_time'] = 'Vérifier toutes les ... minutes' $PALANG['pFetchmail_desc_fetchall'] = 'Récupérer tous les messages, nouveaux et déjà lus'; $PALANG['pFetchmail_desc_keep'] = 'Conserver une copie des messages sur le serveur'; $PALANG['pFetchmail_desc_protocol'] = 'Protocole à utiliser'; -$PALANG['pFetchmail_desc_usessl'] = 'SSL encryption'; # XXX +$PALANG['pFetchmail_desc_usessl'] = 'Encryption SSL'; $PALANG['pFetchmail_desc_extra_options'] = 'Options supplémentaires de Fetchmail'; -$PALANG['pFetchmail_desc_mda'] = 'Mail Delivery Agent'; # XXX +$PALANG['pFetchmail_desc_mda'] = 'Mail Delivery Agent'; $PALANG['pFetchmail_desc_date'] = 'Date dernière vérification/changement configuration'; $PALANG['pFetchmail_desc_returned_text'] = 'Message dernière vérification'; diff --git a/languages/hr.lang b/languages/hr.lang index bd97fab6..30bbb079 100644 --- a/languages/hr.lang +++ b/languages/hr.lang @@ -346,6 +346,8 @@ $PALANG['pUsersVacation_button_away'] = 'Uključi odsutnost'; $PALANG['pUsersVacation_button_back'] = 'Isključi odsutnost'; $PALANG['pUsersVacation_result_error'] = 'Nemoguće promijeniti vaše postavke o odsutnosti!'; $PALANG['pUsersVacation_result_success'] = 'Obvijest o odsutnosti je uklonjena!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'stvori poštanski ormarić'; $PALANG['pCreate_dbLog_createalias'] = 'stvori alias'; diff --git a/languages/hu.lang b/languages/hu.lang index 1ec3bc0f..e1b47589 100644 --- a/languages/hu.lang +++ b/languages/hu.lang @@ -355,6 +355,8 @@ $PALANG['pUsersVacation_button_away'] = 'Automatikus válaszadás bekapcsolása' $PALANG['pUsersVacation_button_back'] = 'Automatikus válaszadás kikapcsolása'; $PALANG['pUsersVacation_result_error'] = 'Nem sikerült megváltoztatni az automatikus válasz konfigurációdat!'; $PALANG['pUsersVacation_result_success'] = 'Az automatikus válaszadás sikeresen kikapcsolva!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'postafiók létrehozása'; $PALANG['pCreate_dbLog_createalias'] = 'alias létrehozása'; diff --git a/languages/is.lang b/languages/is.lang index 1833e825..4d024a7c 100644 --- a/languages/is.lang +++ b/languages/is.lang @@ -346,6 +346,8 @@ $PALANG['pUsersVacation_button_away'] = 'Verð í burtu'; $PALANG['pUsersVacation_button_back'] = 'Kem aftur'; $PALANG['pUsersVacation_result_error'] = 'Get ekki uppfært sjálfvirk skilaboð þín!'; $PALANG['pUsersVacation_result_success'] = 'Sjálfvirk skilaboð þín (svar) hefur verið fjarlægt!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/it.lang b/languages/it.lang index 4f0bab2d..a0166e06 100644 --- a/languages/it.lang +++ b/languages/it.lang @@ -348,6 +348,8 @@ $PALANG['pUsersVacation_button_away'] = 'Imposta autorisponditore'; $PALANG['pUsersVacation_button_back'] = 'Rimuovi autorisponditore'; $PALANG['pUsersVacation_result_error'] = 'Impossibile registrare i valori per l\'autorisponditore!'; $PALANG['pUsersVacation_result_success'] = 'La tua risposta automatica è stata tolta!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'crea casella'; $PALANG['pCreate_dbLog_createalias'] = 'crea alias'; diff --git a/languages/ja.lang b/languages/ja.lang index 8e08dc75..47ee40c4 100644 --- a/languages/ja.lang +++ b/languages/ja.lang @@ -353,6 +353,8 @@ $PALANG['pUsersVacation_button_away'] = '設定'; $PALANG['pUsersVacation_button_back'] = '解除'; $PALANG['pUsersVacation_result_error'] = '自動応答の設定を更新できませんでした!'; $PALANG['pUsersVacation_result_success'] = '自動応答を解除しました。'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/language-update.sh b/languages/language-update.sh index 7b48376b..51c0083f 100755 --- a/languages/language-update.sh +++ b/languages/language-update.sh @@ -72,10 +72,10 @@ function update_string_list() { function forcepatch() { - for i in `seq 1 10` ; do + for i in `seq 1 5` ; do for file in $filelist ; do test "$file" = "en.lang" && { echo "*** skipping en.lang ***"; continue ; } >&2 - "$0" "$file" | head -n7 | recountdiff | patch "$file" + "$0" "$file" | sed -n '1,3 p ; 5 s/^./-/p ; 5s/^./+/p ; 6p' | recountdiff | patch "$file" done done } # end forcepatch diff --git a/languages/lt.lang b/languages/lt.lang index 0299a747..d5d8a1be 100644 --- a/languages/lt.lang +++ b/languages/lt.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = 'Išvykstu'; $PALANG['pUsersVacation_button_back'] = 'Grįžtu'; $PALANG['pUsersVacation_result_error'] = 'Nepavyko nustatyti el.pašto auto atsakovo!'; $PALANG['pUsersVacation_result_success'] = 'Auto atsakovas išjungtas!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'pašto dėžutė sukurta'; $PALANG['pCreate_dbLog_createalias'] = 'sinonimas sukurtas'; diff --git a/languages/mk.lang b/languages/mk.lang index 29d1d27f..1609b14e 100644 --- a/languages/mk.lang +++ b/languages/mk.lang @@ -348,6 +348,8 @@ $PALANG['pUsersVacation_button_away'] = 'Заминување'; $PALANG['pUsersVacation_button_back'] = 'Враќање :)'; $PALANG['pUsersVacation_result_error'] = 'Не можам да ги променам сетирањата за автоматскиот одговор!'; $PALANG['pUsersVacation_result_success'] = 'Вашиот автоматски одговор е отстранет!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/nb.lang b/languages/nb.lang index 573de46b..92a1e3fc 100644 --- a/languages/nb.lang +++ b/languages/nb.lang @@ -348,6 +348,8 @@ $PALANG['pUsersVacation_button_away'] = 'Merk meg som fraværende'; $PALANG['pUsersVacation_button_back'] = 'Merk meg som tilstede'; $PALANG['pUsersVacation_result_error'] = 'Kunne ikke oppdatere dine autosvar-innstillinger!'; $PALANG['pUsersVacation_result_success'] = 'Ditt automatiske svar er blitt fjernet!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'opprett e-postkonto'; $PALANG['pCreate_dbLog_createalias'] = 'opprett alias'; diff --git a/languages/nl.lang b/languages/nl.lang index 4857e1b2..f5092f16 100644 --- a/languages/nl.lang +++ b/languages/nl.lang @@ -41,7 +41,7 @@ $PALANG['pMain_welcome'] = 'Welkom bij Postfix Admin!'; $PALANG['pMain_overview'] = 'Laat uw aliassen en mailboxen zien. U kunt ze vanaf hier bewerken / verwijderen.'; $PALANG['pMain_create_alias'] = 'Maak een nieuwe alias aan voor uw domein.'; $PALANG['pMain_create_mailbox'] = 'Maak een nieuwe mailbox aan voor uw domein.'; -$PALANG['pMain_sendmail'] = 'Verstuur een e-mail naar n van de nieuwe mailboxen.'; +$PALANG['pMain_sendmail'] = 'Verstuur een e-mail naar een van de nieuwe mailboxen.'; $PALANG['pMain_password'] = 'Wijzig uw wachtwoord.'; $PALANG['pMain_viewlog'] = 'Laat de log files zien'; $PALANG['pMain_logout'] = 'Uitloggen'; @@ -115,7 +115,7 @@ $PALANG['pCreate_alias_goto_text'] = 'Waar de e-mails heen gestuurd worden.'; $PALANG['pCreate_alias_goto_text_error'] = 'Waar de e-mail naar toe moet.
De NAAR is niet geldig.'; $PALANG['pCreate_alias_result_error'] = 'Mislukt om de alias toe te voegen.'; $PALANG['pCreate_alias_result_success'] = 'De alias is toegevoegd.'; -$PALANG['pCreate_alias_catchall_text'] = 'Om een catch-all te gebruiken, dient u een "*" (asteric) in te vullen als alias.
Voor domein naar domein forwarding gebruik "*@domein.tld" als naar.'; +$PALANG['pCreate_alias_catchall_text'] = 'Om een catch-all te gebruiken, dient u een "*" (asteric) in te vullen als alias.
Voor domein naar domein forwarding gebruik "*@domein.tld" als naar.'; $PALANG['pEdit_alias_welcome'] = 'Bewerk een alias voor uw domein.
Een alias per regel.'; $PALANG['pEdit_alias_address'] = 'Alias'; @@ -189,7 +189,7 @@ $PALANG['pViewlog_timestamp'] = 'Tijd'; $PALANG['pViewlog_username'] = 'Beheerder'; $PALANG['pViewlog_domain'] = 'Domein'; $PALANG['pViewlog_action'] = 'Actie'; -$PALANG['pViewlog_data'] = 'Datum'; +$PALANG['pViewlog_data'] = 'Aanpassing'; $PALANG['pViewlog_action_create_mailbox'] = 'Mailbox toegevoegd'; $PALANG['pViewlog_action_delete_mailbox'] = 'Mailbox verwijdert'; $PALANG['pViewlog_action_edit_mailbox'] = 'Mailbox bewerkt'; @@ -348,6 +348,8 @@ $PALANG['pUsersVacation_button_away'] = 'Afwezig'; $PALANG['pUsersVacation_button_back'] = 'Kom terug'; $PALANG['pUsersVacation_result_error'] = 'Mislukt om uw automatisch beantwoorden instellingen te wijzigen.'; $PALANG['pUsersVacation_result_success'] = 'Uw automatisch beantwoorden is verwijderd.'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'mailbox aangemaakt'; $PALANG['pCreate_dbLog_createalias'] = 'alias aangemaakt'; diff --git a/languages/nn.lang b/languages/nn.lang index fa598556..da9c0481 100644 --- a/languages/nn.lang +++ b/languages/nn.lang @@ -344,6 +344,8 @@ $PALANG['pUsersVacation_button_away'] = 'Ikke tilstede'; $PALANG['pUsersVacation_button_back'] = 'Straks tilbake'; $PALANG['pUsersVacation_result_error'] = 'Klarte ikke å oppdatere dine autosvar-instillinger!'; $PALANG['pUsersVacation_result_success'] = 'Ditt autosvar er fjernet'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'oppret e-postkonto'; $PALANG['pCreate_dbLog_createalias'] = 'opprett alias'; diff --git a/languages/pl.lang b/languages/pl.lang index 13272177..c584921a 100644 --- a/languages/pl.lang +++ b/languages/pl.lang @@ -352,6 +352,8 @@ $PALANG['pUsersVacation_button_away'] = 'Nieobecny/a'; $PALANG['pUsersVacation_button_back'] = 'Zaraz wracam'; $PALANG['pUsersVacation_result_error'] = 'Nie mogę zaktualizować ustawień Twojej auto odpowiedzi!'; $PALANG['pUsersVacation_result_success'] = 'Twoja auto odpowiedź została usunięta!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'utwórz konto'; $PALANG['pCreate_dbLog_createalias'] = 'utwórz alias'; diff --git a/languages/pt-br.lang b/languages/pt-br.lang index 7f12458d..56b47144 100644 --- a/languages/pt-br.lang +++ b/languages/pt-br.lang @@ -355,6 +355,8 @@ $PALANG['pUsersVacation_button_away'] = 'Ausente'; $PALANG['pUsersVacation_button_back'] = 'De Volta'; $PALANG['pUsersVacation_result_error'] = 'Não foi possível atualizar suas configurações de resposta automática!'; $PALANG['pUsersVacation_result_success'] = 'Resposta automática removida!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'criar conta de email'; $PALANG['pCreate_dbLog_createalias'] = 'criar alias'; diff --git a/languages/ru.lang b/languages/ru.lang index ba66808e..a27f0e62 100644 --- a/languages/ru.lang +++ b/languages/ru.lang @@ -118,7 +118,7 @@ $PALANG['pCreate_alias_goto_text'] = 'Куда должна доставлять $PALANG['pCreate_alias_goto_text_error'] = 'Куда должна идти почта.
Неверное поле Кому!'; $PALANG['pCreate_alias_result_error'] = 'Невозможно добавить алиас в список!'; $PALANG['pCreate_alias_result_success'] = 'Алиас был успешно создан!'; -$PALANG['pCreate_alias_catchall_text'] = 'Для создания catch-all почтового ящика используйте "*" в качестве имени алиаса.
для внутридоменного перенаправления используйте "*@domain.tld" для поле Кому'; +$PALANG['pCreate_alias_catchall_text'] = 'Для создания catch-all почтового ящика используйте "*" в качестве имени алиаса.'; # XXX don't propagate usage of *@target-domain.com for domain-aliasing any longer $PALANG['pEdit_alias_welcome'] = 'Редактирование алиаса в вашем домене.
Одна запись на строку.'; $PALANG['pEdit_alias_address'] = 'Алиас'; @@ -355,6 +355,8 @@ $PALANG['pUsersVacation_button_away'] = 'Ухожу'; $PALANG['pUsersVacation_button_back'] = 'Возвращаюсь'; $PALANG['pUsersVacation_result_error'] = 'Невозможно изменить настройки автоответчика!'; $PALANG['pUsersVacation_result_success'] = 'Ваш автоответчик был убран!'; +$PALANG['pUsersVacation_activefrom'] = 'Активен с'; +$PALANG['pUsersVacation_activeuntil'] = 'Активен по'; $PALANG['pCreate_dbLog_createmailbox'] = 'создание ящика'; $PALANG['pCreate_dbLog_createalias'] = 'создание алиаса'; diff --git a/languages/sk.lang b/languages/sk.lang index a23a41ea..8ec14013 100644 --- a/languages/sk.lang +++ b/languages/sk.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = 'Odísť'; $PALANG['pUsersVacation_button_back'] = 'Vrátiť sa'; $PALANG['pUsersVacation_result_error'] = 'Nepodarilo sa upraviť nastavenie!'; $PALANG['pUsersVacation_result_success'] = 'Nastavenie bolo upravené!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'vytvoriť mailbox'; $PALANG['pCreate_dbLog_createalias'] = 'vytvoriť alias'; diff --git a/languages/sl.lang b/languages/sl.lang index ec9d2578..6cc9f425 100644 --- a/languages/sl.lang +++ b/languages/sl.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = 'Vključi odsotnost'; $PALANG['pUsersVacation_button_back'] = 'Izključi odsotnost'; $PALANG['pUsersVacation_result_error'] = 'Vašim nastavitev o odsotnosti ni bilo mogoče posodobiti!'; $PALANG['pUsersVacation_result_success'] = 'Obvestilo o odsotnosti je izključeno!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'ustvari predal'; $PALANG['pCreate_dbLog_createalias'] = 'ustvari alias'; diff --git a/languages/sv.lang b/languages/sv.lang index 108941b7..60510335 100644 --- a/languages/sv.lang +++ b/languages/sv.lang @@ -349,6 +349,8 @@ $PALANG['pUsersVacation_button_away'] = 'Försvinner'; $PALANG['pUsersVacation_button_back'] = 'Kommer tillbaka'; $PALANG['pUsersVacation_result_error'] = 'Kan inte uppdatera dina autosvar inställningar!'; $PALANG['pUsersVacation_result_success'] = 'Ditt autosvar har taqits bort!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'skapa brevlåda'; $PALANG['pCreate_dbLog_createalias'] = 'skapa alias'; diff --git a/languages/tr.lang b/languages/tr.lang index a684c57a..1ab99942 100644 --- a/languages/tr.lang +++ b/languages/tr.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = 'Dýþarý gidiyorum.'; $PALANG['pUsersVacation_button_back'] = 'Geri Geliyorum'; $PALANG['pUsersVacation_result_error'] = 'otomatik cevaplama ayarlarýnýzý deðiþtirilemiyor!'; $PALANG['pUsersVacation_result_success'] = 'Otomatik cevaplamanýz kaldýrýldý!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = 'create mailbox'; # XXX $PALANG['pCreate_dbLog_createalias'] = 'create alias'; # XXX diff --git a/languages/tw.lang b/languages/tw.lang index 424e1c53..d4c00af2 100644 --- a/languages/tw.lang +++ b/languages/tw.lang @@ -347,6 +347,8 @@ $PALANG['pUsersVacation_button_away'] = '開啟自動回復'; $PALANG['pUsersVacation_button_back'] = '關閉自動回復'; $PALANG['pUsersVacation_result_error'] = '更新自動回復失敗!'; $PALANG['pUsersVacation_result_success'] = '你的自動回復已經關閉!'; +$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX +$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX $PALANG['pCreate_dbLog_createmailbox'] = '新建郵箱'; $PALANG['pCreate_dbLog_createalias'] = '新建別名'; diff --git a/list-virtual.php b/list-virtual.php index 9a66ed43..5577c49d 100644 --- a/list-virtual.php +++ b/list-virtual.php @@ -60,25 +60,37 @@ else if (isset ($_POST['limit'])) $fDisplay = intval ($_POST['limit']); } -// store fDomain in $_SESSION so after adding/editing aliases/mailboxes we can -// take the user back to the appropriate domain listing. (see templates/menu.php) -if($fDomain) { - $_SESSION['list_virtual_sticky_domain'] = $fDomain; -} - if (count($list_domains) == 0) { # die("no domains"); + flash_error( $PALANG['invalid_parameter'] ); header("Location: list-domain.php"); # no domains (for this admin at least) - redirect to domain list + exit; +} + +if ((is_array ($list_domains) and sizeof ($list_domains) > 0)) { + if (empty ($fDomain)) { + $fDomain = $list_domains[0]; + } } -if ((is_array ($list_domains) and sizeof ($list_domains) > 0)) if (empty ($fDomain)) $fDomain = $list_domains[0]; +if(!in_array($fDomain, $list_domains)) { + flash_error( $PALANG['invalid_parameter'] ); + header("Location: list-domain.php"); # invalid domain, or not owned by this admin + exit; +} -if (!check_owner(authentication_get_username(), $fDomain)) { - # die($PALANG['invalid_parameter']); +if (!check_owner(authentication_get_username(), $fDomain)) { + flash_error( $PALANG['invalid_parameter'] . " If you see this message, please open a bugreport"); # this check is most probably obsoleted by the in_array() check above header("Location: list-domain.php"); # domain not owned by this admin exit(0); } +// store fDomain in $_SESSION so after adding/editing aliases/mailboxes we can +// take the user back to the appropriate domain listing. (see templates/menu.php) +if($fDomain) { + $_SESSION['list_virtual_sticky_domain'] = $fDomain; +} + if (boolconf('alias_domain')) { # Alias-Domains # first try to get a list of other domains pointing @@ -166,7 +178,7 @@ if ($CONF['vacation_control_admin'] == 'YES') { if (boolconf('new_quota_table')) { - $query = "SELECT $table_mailbox.*, $table_vacation.active AS v_active, $table_quota2.bytes FROM $table_mailbox + $query = "SELECT $table_mailbox.*, $table_vacation.active AS v_active, $table_quota2.bytes as current FROM $table_mailbox LEFT JOIN $table_vacation ON $table_mailbox.username=$table_vacation.email LEFT JOIN $table_quota2 ON $table_mailbox.username=$table_quota2.username WHERE $table_mailbox.domain='$fDomain' diff --git a/setup.php b/setup.php index 94144b55..3c54217f 100644 --- a/setup.php +++ b/setup.php @@ -25,12 +25,12 @@ define('POSTFIXADMIN', 1); # by defining it here, common.php will not start a session. -require_once('common.php'); +require_once(dirname(__FILE__).'/common.php'); # make sure correct common.php is used. $CONF['show_header_text'] = 'NO'; $CONF['theme_logo'] = 'images/logo-default.png'; $CONF['theme_css'] = 'css/default.css'; -require('templates/header.php'); +require($incpath.'/templates/header.php'); ?>
@@ -120,10 +120,10 @@ $config_loaded = 0; if ($file_config == 1) { print "
  • Depends on: presence config.inc.php - OK
  • \n"; - require_once('config.inc.php'); + require_once($incpath.'/config.inc.php'); $config_loaded = 1; - require('config.inc.php'); + require($incpath.'/config.inc.php'); if(isset($CONF['configured'])) { if($CONF['configured'] == TRUE) { print "
  • Checking \$CONF['configured'] - OK\n"; @@ -298,7 +298,7 @@ if ($error != 0) else { print "

    Everything seems fine... attempting to create/update database structure

    \n"; - require_once('upgrade.php'); + require_once($incpath.'/upgrade.php'); $pAdminCreate_admin_username_text = $PALANG['pAdminCreate_admin_username_text']; $pAdminCreate_admin_password_text = ""; diff --git a/templates/list-virtual.php b/templates/list-virtual.php index bc5b24c7..0c6d5f77 100644 --- a/templates/list-virtual.php +++ b/templates/list-virtual.php @@ -95,7 +95,9 @@ if ((sizeof ($tAliasDomains) > 0) || (is_array ($tTargetDomain) )) print " " . $tAliasDomains[$i]['modified'] . "\n"; $active = ($tAliasDomains[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO']; print " " . $active . "\n"; - print " " . $PALANG['del'] . "\n"; + print " " . $PALANG['del'] . "\n"; print " \n"; } } diff --git a/upgrade.php b/upgrade.php index e13d4b97..757cf40d 100644 --- a/upgrade.php +++ b/upgrade.php @@ -106,7 +106,8 @@ _do_upgrade($version); function _do_upgrade($current_version) { global $CONF; - $target_version = preg_replace('/[^0-9]/', '', '$Revision$'); + # $target_version = preg_replace('/[^0-9]/', '', '$Revision$'); + $target_version = 739; # hardcoded target version for 2.3 branch - increase (by one) if database changes in the branch are necessary if ($current_version >= $target_version) { # already up to date @@ -336,7 +337,7 @@ function upgrade_1_mysql() { active tinyint(4) NOT NULL default '1', PRIMARY KEY (email), KEY email (email) - ) {INNODB} DEFAULT CHARSET=utf8 COMMENT='Postfix Admin - Virtual Vacation' ;"; + ) {INNODB} DEFAULT CHARSET=latin1 COMMENT='Postfix Admin - Virtual Vacation' ;"; foreach($sql as $query) { db_query_parsed($query); @@ -863,7 +864,7 @@ function upgrade_344_mysql() { extra_options text, returned_text text, mda varchar(255) not null default '', - date timestamp(14), + date timestamp, primary key(id) ); ");