mirror of
https://github.com/postfixadmin/postfixadmin.git
synced 2024-09-19 19:22:14 +02:00
Backport of various fixes from trunk to the 2.3 branch
- list-virtual: fix displaying of 'modified' column for aliases when using postgres - replaced deprecated split() with preg_split() or explode() - functions.inc.php: better error messages when database functions are missing - create domain: fixed typo in variable name that broke the default value for default aliases - create domain: backup MX checkbox is now XHTML compliant - vacation.pl logged literal $variable instead of the variable content at two places - POSTFIX_CONF.txt: fixed filename for quota map - config.inc.php: removed double $CONF['database_prefix'] - config.inc.php: fixed comments about domain_post* script parameters - CHANGELOG.TXT: add new section for 2.3.3, include all the above git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/branches/postfixadmin-2.3@893 a1433add-5e2c-0410-b055-b7f2511e0802
This commit is contained in:
parent
19dbcdeec7
commit
303acce580
8
ADDITIONS/cyrus/Changelog
Normal file
8
ADDITIONS/cyrus/Changelog
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
Version 0.1 -- 26/10/2009
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
* Public Release.
|
||||||
|
* Postcreation, Postdeletion and Postedit hooks.
|
||||||
|
|
||||||
|
|
7
ADDITIONS/cyrus/README-ES.txt
Normal file
7
ADDITIONS/cyrus/README-ES.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
Configuración
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- Edita el fichero cyrus.conf y modifica las variables $cyrus_*. El usuario debe tener permisos sobre todas las cuentas.
|
||||||
|
- Edita los ficheros cyrus-*.pl y cambia la ruta de cyrus.conf (linea require '/path/to/cyrus.conf';)
|
||||||
|
|
7
ADDITIONS/cyrus/README.txt
Normal file
7
ADDITIONS/cyrus/README.txt
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
Configuration
|
||||||
|
-------------
|
||||||
|
|
||||||
|
- Edit cyrus.conf and set $cyrus_* variables correctly. User must have permission over all accounts.
|
||||||
|
- Edit cyrus-*.pl and change path to cyrus.conf (require '/path/to/cyrus.conf'; line)
|
||||||
|
|
36
ADDITIONS/cyrus/cyrus-mailbox-postcreation.pl
Executable file
36
ADDITIONS/cyrus/cyrus-mailbox-postcreation.pl
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# Cyrus Mailbox creation
|
||||||
|
#
|
||||||
|
# Iñaki Rodriguez (irodriguez@virtualminds.es / irodriguez@ackstorm.es)
|
||||||
|
#
|
||||||
|
# LICENSE
|
||||||
|
# This source file is subject to the GPL license that is bundled with
|
||||||
|
# this package in the file LICENSE.TXT.
|
||||||
|
#
|
||||||
|
# (26/10/2009)
|
||||||
|
|
||||||
|
use Cyrus::IMAP::Admin;
|
||||||
|
require '/etc/mail/postfixadmin/cyrus.conf';
|
||||||
|
use strict;
|
||||||
|
use vars qw($cyrus_user $cyrus_password $cyrus_host);
|
||||||
|
|
||||||
|
my %opts;
|
||||||
|
|
||||||
|
my $mailbox = mailbox_name($ARGV[0]);
|
||||||
|
|
||||||
|
my $client = Cyrus::IMAP::Admin->new($cyrus_host);
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$opts{-user} = $cyrus_user;
|
||||||
|
$opts{-password} = $cyrus_password;
|
||||||
|
|
||||||
|
$client->authenticate(%opts);
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$client->create($mailbox);
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$client->setquota($mailbox,'STORAGE',scalar $ARGV[3]) if ($ARGV[3] > 0);
|
||||||
|
die_on_error($client);
|
||||||
|
|
36
ADDITIONS/cyrus/cyrus-mailbox-postdelete.pl
Executable file
36
ADDITIONS/cyrus/cyrus-mailbox-postdelete.pl
Executable file
@ -0,0 +1,36 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# Cyrus Mailbox deletion
|
||||||
|
#
|
||||||
|
# Iñaki Rodriguez (irodriguez@virtualminds.es / irodriguez@ackstorm.es)
|
||||||
|
#
|
||||||
|
# LICENSE
|
||||||
|
# This source file is subject to the GPL license that is bundled with
|
||||||
|
# this package in the file LICENSE.TXT.
|
||||||
|
#
|
||||||
|
# (26/10/2009)
|
||||||
|
|
||||||
|
use Cyrus::IMAP::Admin;
|
||||||
|
require '/etc/mail/postfixadmin/cyrus.conf';
|
||||||
|
use strict;
|
||||||
|
use vars qw($cyrus_user $cyrus_password $cyrus_host);
|
||||||
|
|
||||||
|
my %opts;
|
||||||
|
|
||||||
|
my $mailbox = mailbox_name($ARGV[0]);
|
||||||
|
|
||||||
|
my $client = Cyrus::IMAP::Admin->new($cyrus_host);
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$opts{-user} = $cyrus_user;
|
||||||
|
$opts{-password} = $cyrus_password;
|
||||||
|
|
||||||
|
$client->authenticate(%opts);
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$client->setacl($mailbox,$cyrus_user => 'all');
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$client->deletemailbox($mailbox);
|
||||||
|
die_on_error($client);
|
||||||
|
|
33
ADDITIONS/cyrus/cyrus-mailbox-postedit.pl
Executable file
33
ADDITIONS/cyrus/cyrus-mailbox-postedit.pl
Executable file
@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# Cyrus Mailbox edition
|
||||||
|
#
|
||||||
|
# Iñaki Rodriguez (irodriguez@virtualminds.es / irodriguez@ackstorm.es)
|
||||||
|
#
|
||||||
|
# LICENSE
|
||||||
|
# This source file is subject to the GPL license that is bundled with
|
||||||
|
# this package in the file LICENSE.TXT.
|
||||||
|
#
|
||||||
|
# (26/10/2009)
|
||||||
|
|
||||||
|
use Cyrus::IMAP::Admin;
|
||||||
|
require '/etc/mail/postfixadmin/cyrus.conf';
|
||||||
|
use strict;
|
||||||
|
use vars qw($cyrus_user $cyrus_password $cyrus_host);
|
||||||
|
|
||||||
|
my %opts;
|
||||||
|
|
||||||
|
my $mailbox = mailbox_name($ARGV[0]);
|
||||||
|
|
||||||
|
my $client = Cyrus::IMAP::Admin->new($cyrus_host);
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$opts{-user} = $cyrus_user;
|
||||||
|
$opts{-password} = $cyrus_password;
|
||||||
|
|
||||||
|
$client->authenticate(%opts);
|
||||||
|
die_on_error($client);
|
||||||
|
|
||||||
|
$client->setquota($mailbox,'STORAGE',scalar $ARGV[3]) if ($ARGV[3] > 0);
|
||||||
|
die_on_error($client);
|
||||||
|
|
31
ADDITIONS/cyrus/cyrus.conf
Normal file
31
ADDITIONS/cyrus/cyrus.conf
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# Config
|
||||||
|
|
||||||
|
$cyrus_user = 'cyrus';
|
||||||
|
$cyrus_password = 'cyruspass';
|
||||||
|
$cyrus_host = 'localhost';
|
||||||
|
|
||||||
|
# unixhierarchysep => 1 (yes) / 0 (no)
|
||||||
|
$unixhierarchysep = 1;
|
||||||
|
|
||||||
|
# Common routines
|
||||||
|
|
||||||
|
sub mailbox_name {
|
||||||
|
my $mailbox = shift;
|
||||||
|
|
||||||
|
if($unixhierarchysep) {
|
||||||
|
$mailbox = 'user/'.$ARGV[0];
|
||||||
|
} else {
|
||||||
|
$mailbox = 'user.'.$ARGV[0];
|
||||||
|
}
|
||||||
|
|
||||||
|
return $mailbox;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub die_on_error {
|
||||||
|
my $cyradm = shift;
|
||||||
|
if($cyradm->error) { die $cyradm->error; }
|
||||||
|
}
|
||||||
|
1;
|
||||||
|
|
Binary file not shown.
39
ADDITIONS/squirrelmail-plugin/INSTALL
Normal file
39
ADDITIONS/squirrelmail-plugin/INSTALL
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
Installing the postfixadmin Plugin
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Requirements:
|
||||||
|
=============
|
||||||
|
|
||||||
|
- PHP 5.2.x with php5-xmlrpc installed (if available; it should be available by default anyway)
|
||||||
|
- http access to a local/remote postfixadmin interface
|
||||||
|
- Zend Framework - download from http://framework.zend.com
|
||||||
|
- the Zend directory needs to be in PHP's include_path, or in the same directory
|
||||||
|
as the plugin. Suggested version 1.10; older versions should work.
|
||||||
|
|
||||||
|
Installation :
|
||||||
|
==============
|
||||||
|
|
||||||
|
- Check out this code (svn co http://squirrelmail-postfixadmin.palepurple.co.uk/svn/trunk postfixadmin)
|
||||||
|
into the Squirrelmail plugins directory.
|
||||||
|
|
||||||
|
- Edit config.php and specify the remote URL for the Postfixadmin XmlRpc service. There isn't much more to change.
|
||||||
|
|
||||||
|
- Edit the remote Postfixadmin's XmlRpc service config file and ensure 'xmlrpc_enable' is set to boolean true.
|
||||||
|
|
||||||
|
- Enable the plugin through 'squirrelmail-configure' or 'config/conf.pl'.
|
||||||
|
Choose option 8 and move the plugin from the "Available Plugins"
|
||||||
|
category to the "Installed Plugins" category. Save and exit.
|
||||||
|
|
||||||
|
|
||||||
|
Security :
|
||||||
|
==========
|
||||||
|
|
||||||
|
- The XmlRpc client needs to get the user's mailbox password before it will be able to connect to the
|
||||||
|
XmlRpc server (postfixadmin). The plugin prompts the user for their mailbox password, and caches it in their session
|
||||||
|
($_SESSION['password']). This password is then sent once on every page load to the remote XmlRpc server.
|
||||||
|
|
||||||
|
- You should consider doing any of the following :
|
||||||
|
|
||||||
|
- Using https if the server and client are on seperate servers. This will probably require a signed certificate etc, and may require changes to the Zend_XmlRpc_Client's HttpClient.
|
||||||
|
- Using something like stunnel to encrypt traffic between server(s).
|
||||||
|
|
40
ADDITIONS/squirrelmail-plugin/LICENSE.txt
Normal file
40
ADDITIONS/squirrelmail-plugin/LICENSE.txt
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
|
||||||
|
2007/03/29 :
|
||||||
|
Before I (David Goodwin) customised this plugin, it contained the following within all
|
||||||
|
files as a header.
|
||||||
|
|
||||||
|
/****************************************************************************************
|
||||||
|
|
||||||
|
Author ......... Florian Kimmerl
|
||||||
|
Contact ........ info@spacekoeln.de
|
||||||
|
Home Site ...... http://www.spacekoeln.de/
|
||||||
|
Program ........ postfixadmin
|
||||||
|
Purpose ........ Allows you to change your postfixadmin settings within squirrelmail
|
||||||
|
|
||||||
|
*************************************************************************************
|
||||||
|
|
||||||
|
The Original Code is Postfix Admin.
|
||||||
|
The Initial Developer of the Original Code is Mischa Peters .
|
||||||
|
Portions created by Mischa Peters are Copyright (c) 2002, 2003, 2004.
|
||||||
|
All Rights Reserved.
|
||||||
|
Contributor(s):
|
||||||
|
This project includes work by Mischa Peters and others that is:
|
||||||
|
Copyright (c) 2002,2003,2004 Mischa Peters
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
****************************************************************************************/
|
||||||
|
|
||||||
|
|
||||||
|
Contacting the author provided no success, so I took over maintainership.
|
||||||
|
|
||||||
|
Please note:
|
||||||
|
|
||||||
|
1) Changes made by myself (David Goodwin) will be licensed under the GPL
|
||||||
|
2) PostfixAdmin has itself been relicensed under the GPL; however this took place _after_
|
||||||
|
this plugin was written.
|
||||||
|
3) Squirrelmail itself is released under http://squirrelmail.org/wiki/SquirrelMailGPL (GPL)
|
||||||
|
|
||||||
|
|
||||||
|
The GNU public license can be found online at :
|
||||||
|
|
||||||
|
http://www.gnu.org/licenses/gpl.txt
|
70
ADDITIONS/squirrelmail-plugin/README
Normal file
70
ADDITIONS/squirrelmail-plugin/README
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
Squirrelmail Plugin Postfixadmin
|
||||||
|
********************************
|
||||||
|
|
||||||
|
The Postfixadmin SquirrelMail plugin let users change their virtual alias,
|
||||||
|
vacation status/message and password if you are using the great postfixadmin
|
||||||
|
tool from http://high5.net/postfixadmin
|
||||||
|
|
||||||
|
Version 0.4.3 2007/08/14
|
||||||
|
|
||||||
|
Postfixadmin - Postfixadmin+MySQL/PgSQL plugin for Squirrelmail
|
||||||
|
|
||||||
|
|
||||||
|
Author: Florian Kimmerl <info@spacekoeln.de>
|
||||||
|
Author: Sam Brookes <sam at pale purple.co.uk>
|
||||||
|
- Initial conversion to MDB2
|
||||||
|
- Fix SQL Injections etc
|
||||||
|
Author: David Goodwin <david at pale purple.co.uk>
|
||||||
|
- Subsequent tidyup + testing etc
|
||||||
|
Author: Krzysztof 'Mad Max' Laska - <madmax at riders.pl>
|
||||||
|
- Polish Translation.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
The Initial Developer of the Original postfixadmin Code is Mischa Peters.
|
||||||
|
Portions created by Mischa Peters are Copyright (c) 2002, 2003, 2004.
|
||||||
|
All Rights Reserved.
|
||||||
|
|
||||||
|
REQUIREMENTS
|
||||||
|
|
||||||
|
o SquirrelMail 1.4x
|
||||||
|
|
||||||
|
o A working Mail-System "Virtual Domains and Users with postfix+Courier-IMAP+MySQL" (or PostgreSQL) See http://high5.net/howto/
|
||||||
|
|
||||||
|
o POSTFIXADMIN version 2.2.0 or higher. See http://sf.net/projects/postfixadmin
|
||||||
|
|
||||||
|
o This plugin only uses the postfixadmin database
|
||||||
|
|
||||||
|
o Pear MDB2 database abstraction layer - see http://pear.php.net
|
||||||
|
|
||||||
|
o PHP installation with register globals TURNED OFF (huraren on IRC reports that the MDB2 driver isn't happy with it turned on)
|
||||||
|
|
||||||
|
INSTALLATION
|
||||||
|
|
||||||
|
See the included file INSTALL
|
||||||
|
|
||||||
|
BUGS
|
||||||
|
|
||||||
|
o Probably vulnerable to cross site scripting, certainly when setting the vacation message.
|
||||||
|
|
||||||
|
o There may be some remaining SQL injection holes.
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|
||||||
|
-Code Cleanup
|
||||||
|
-Tranlation
|
||||||
|
|
||||||
|
|
||||||
|
TRANSLATIONS
|
||||||
|
|
||||||
|
Translations are welcome! Send the *.po-File to: david@NO.codepoets.SPAM.co.uk
|
||||||
|
|
||||||
|
|
||||||
|
ACKNOWLEDGMENTS
|
||||||
|
|
||||||
|
Thanks to the SquirrelMail team for building such a great app and
|
||||||
|
for all the work they do to keep it running.
|
||||||
|
|
||||||
|
Thanks to high5.net for writing the great Postfixadmin tool
|
||||||
|
|
||||||
|
|
39
ADDITIONS/squirrelmail-plugin/common.php
Normal file
39
ADDITIONS/squirrelmail-plugin/common.php
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
// vim:ts=4:sw=4:et
|
||||||
|
ini_set('include_path', get_include_path() . ':' . dirname(__FILE__));
|
||||||
|
chdir("..");
|
||||||
|
|
||||||
|
|
||||||
|
if (!defined('SM_PATH'))
|
||||||
|
{
|
||||||
|
define('SM_PATH','../');
|
||||||
|
}
|
||||||
|
include_once(SM_PATH . 'plugins/postfixadmin/config.php');
|
||||||
|
include_once(SM_PATH . 'plugins/postfixadmin/functions.inc.php');
|
||||||
|
include_if_exists(SM_PATH . 'include/validate.php');
|
||||||
|
if (file_exists(SM_PATH . 'include/validate.php'))
|
||||||
|
{
|
||||||
|
include_once(SM_PATH . 'include/validate.php');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
include_if_exists(SM_PATH . 'src/validate.php');
|
||||||
|
}
|
||||||
|
include_once(SM_PATH . 'functions/page_header.php');
|
||||||
|
include_once(SM_PATH . 'functions/display_messages.php');
|
||||||
|
include_once(SM_PATH . 'functions/imap.php');
|
||||||
|
include_if_exists(SM_PATH . 'functions/array.php');
|
||||||
|
if (file_exists(SM_PATH . 'src/load_prefs.php'))
|
||||||
|
{
|
||||||
|
include_once(SM_PATH . 'src/load_prefs.php');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
include_if_exists(SM_PATH . 'include/load_prefs.php');
|
||||||
|
}
|
||||||
|
// overwrite squirrelmail's content type to utf8...
|
||||||
|
header("Content-Type: text/html; charset=utf8");
|
||||||
|
|
||||||
|
|
||||||
|
//global $VACCONFMESSAGE;
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
|
22
ADDITIONS/squirrelmail-plugin/config.php.sample
Normal file
22
ADDITIONS/squirrelmail-plugin/config.php.sample
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
$CONF = array();
|
||||||
|
$CONF['xmlrpc_url'] = 'http://postfixadmin.local/postfixadmin/xmlrpc.php';
|
||||||
|
|
||||||
|
// Virtual Vacation
|
||||||
|
// If you use virtual vacation for you mailbox users set this to 'true'.
|
||||||
|
// NOTE: Make sure that you install the vacation module!!
|
||||||
|
|
||||||
|
//$AllowVacation = true; // true or false
|
||||||
|
global $AllowVacation;
|
||||||
|
$AllowVacation = true;
|
||||||
|
|
||||||
|
// Change Password
|
||||||
|
// Enables user to change the POP3/IMAP Password.
|
||||||
|
//$AllowChangePass = true; // true or false
|
||||||
|
global $AllowChangePass;
|
||||||
|
$AllowChangePass = true;
|
||||||
|
|
||||||
|
// Minimum password length - set to Zero to not care, otherwise the number of
|
||||||
|
// characters a password must be longer than.
|
||||||
|
$CONF['min_password_length'] = 5;
|
20
ADDITIONS/squirrelmail-plugin/debian/README.Debian
Normal file
20
ADDITIONS/squirrelmail-plugin/debian/README.Debian
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
Squirrelmail PostfixAdmin Plugin for Debian
|
||||||
|
===========================================
|
||||||
|
|
||||||
|
After installing the package, you will need to :
|
||||||
|
|
||||||
|
1) Edit the config.inc.php file to point to the PostfixAdmin server.
|
||||||
|
|
||||||
|
2) Ensure the xmlrpc interface is available and enabled on the Postfixadmin server
|
||||||
|
|
||||||
|
3) Run the squirrelmail-configure script.
|
||||||
|
|
||||||
|
Where to get help
|
||||||
|
=================
|
||||||
|
|
||||||
|
See http://squirrelmail-postfixadmin.palepurple.co.uk
|
||||||
|
|
||||||
|
Try also : david [at] pale purple dot co dot uk
|
||||||
|
|
||||||
|
Or #postfixadmin on irc.freenode.net might be a good bet.
|
||||||
|
|
27
ADDITIONS/squirrelmail-plugin/debian/changelog
Normal file
27
ADDITIONS/squirrelmail-plugin/debian/changelog
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
squirrelmail-postfixadmin (2.3.0) stable; urgency=low
|
||||||
|
|
||||||
|
* Using XMLRPC backend (no SQL here)
|
||||||
|
|
||||||
|
-- David Goodwin <david.goodwin@palepurple.co.uk> Mon, 01 Feb 2010 09:56:00 +0000
|
||||||
|
|
||||||
|
squirrelmail-postfixadmin (2.2.0) stable; urgency=low
|
||||||
|
|
||||||
|
* Changed DB backend to use prepared statements
|
||||||
|
* Changed vacation handling to match that of Postfixadmin (vacation.active
|
||||||
|
etc)
|
||||||
|
* Changed vacation page to support UTF8
|
||||||
|
|
||||||
|
-- David Goodwin <david.goodwin@palepurple.co.uk> Wed, 20 Aug 2008 15:25:00 +0000
|
||||||
|
|
||||||
|
squirrelmail-postfixadmin (2.1.1-1) stable; urgency=low
|
||||||
|
|
||||||
|
* Add NL language support
|
||||||
|
* Better db error logging (e.g. if wrong mdb2 driver specified etc)
|
||||||
|
|
||||||
|
-- David Goodwin <david.goodwin@palepurple.co.uk> Wed, 12 Dec 2007 16:00:00 +0000
|
||||||
|
|
||||||
|
squirrelmail-postfixadmin (2.1.0-1) stable; urgency=low
|
||||||
|
|
||||||
|
* Initial release.
|
||||||
|
|
||||||
|
-- David Goodwin <david.goodwin@palepurple.co.uk> Thu, 8 Nov 2007 20:00:00 +0000
|
1
ADDITIONS/squirrelmail-plugin/debian/conffiles
Normal file
1
ADDITIONS/squirrelmail-plugin/debian/conffiles
Normal file
@ -0,0 +1 @@
|
|||||||
|
/etc/squirrelmail/plugins/postfixadmin-config.php
|
19
ADDITIONS/squirrelmail-plugin/debian/control
Normal file
19
ADDITIONS/squirrelmail-plugin/debian/control
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
Source: squirrelmail-postfixadmin
|
||||||
|
Section: mail
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: David Goodwin <david.goodwin@palepurple.co.uk>
|
||||||
|
Standards-Version: 3.6.1
|
||||||
|
|
||||||
|
Package: squirrelmail-postfixadmin
|
||||||
|
Architecture: all
|
||||||
|
Depends: squirrelmail, php-pear
|
||||||
|
Suggests: postfixadmin
|
||||||
|
Description: Plugin for Squirrelmail to integrate with Postfixadmin
|
||||||
|
Postfixadmin is a web based interface for managing mail domains
|
||||||
|
and users. This package integrates Squirrelmail with it.
|
||||||
|
Users can change their password, forwarding and vacation settings
|
||||||
|
from within Squirrelmail when this package is installed, and
|
||||||
|
enabled through the ./squirrelmail-configure command.
|
||||||
|
.
|
||||||
|
For further information see
|
||||||
|
http://squirrelmail-postfixadmin.palepurple.co.uk
|
11
ADDITIONS/squirrelmail-plugin/debian/copyright
Normal file
11
ADDITIONS/squirrelmail-plugin/debian/copyright
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
This package was debianized by David Goodwin <david@palepurple.co.uk>
|
||||||
|
2007/11/08
|
||||||
|
|
||||||
|
It was downloaded from: http://squirremail-postfixadmin.palepurple.co.uk
|
||||||
|
|
||||||
|
Upstream Author(s): n/a
|
||||||
|
|
||||||
|
Copyright:
|
||||||
|
Copyright (C) 2007+ by David Goodwin <david@palepurple.co.uk>
|
||||||
|
|
||||||
|
License: GPL v2+
|
4
ADDITIONS/squirrelmail-plugin/debian/docs
Executable file
4
ADDITIONS/squirrelmail-plugin/debian/docs
Executable file
@ -0,0 +1,4 @@
|
|||||||
|
LICENSE.txt
|
||||||
|
README
|
||||||
|
INSTALL
|
||||||
|
debian/README.Debian
|
1
ADDITIONS/squirrelmail-plugin/debian/files
Normal file
1
ADDITIONS/squirrelmail-plugin/debian/files
Normal file
@ -0,0 +1 @@
|
|||||||
|
squirrelmail-postfixadmin_2.2.0_all.deb mail optional
|
@ -0,0 +1,3 @@
|
|||||||
|
usr/share/squirrelmail/plugins/postfixadmin
|
||||||
|
usr/share/doc/squirrelmail-postfixadmin
|
||||||
|
etc/squirrelmail/plugins
|
5
ADDITIONS/squirrelmail-plugin/debian/postinst
Normal file
5
ADDITIONS/squirrelmail-plugin/debian/postinst
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
||||||
|
echo "WARNING: You need to read /usr/share/doc/squirrelmail-postfixadmin/README.Debian!"
|
||||||
|
echo "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
56
ADDITIONS/squirrelmail-plugin/debian/rules
Executable file
56
ADDITIONS/squirrelmail-plugin/debian/rules
Executable file
@ -0,0 +1,56 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
# debian/rules makefile for squirrelmail
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
build: build-stamp
|
||||||
|
build-stamp:
|
||||||
|
dh_testdir
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
install: build
|
||||||
|
$(checkdir)
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
dh_install
|
||||||
|
mkdir -p debian/tmp/usr/share/squirrelmail/plugins/postfixadmin
|
||||||
|
cp -a *.php version debian/tmp/usr/share/squirrelmail/plugins/postfixadmin
|
||||||
|
cp -a locale debian/tmp/usr/share/squirrelmail/plugins/postfixadmin
|
||||||
|
cp -a po debian/tmp/usr/share/squirrelmail/plugins/postfixadmin
|
||||||
|
mkdir -p debian/tmp/etc/squirrelmail/plugins/
|
||||||
|
cp -a *.sample debian/tmp/etc/squirrelmail/plugins/postfixadmin-config.php
|
||||||
|
mkdir -p debian/tmp/DEBIAN
|
||||||
|
cp debian/postinst debian/tmp/DEBIAN/postinst
|
||||||
|
chmod 555 debian/tmp/DEBIAN/postinst
|
||||||
|
ln -s /etc/squirrelmail/plugins/postfixadmin-config.php debian/tmp/usr/share/squirrelmail/plugins/postfixadmin/config.php
|
||||||
|
find debian/tmp -name .svn | xargs -r rm -r
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
binary-indep: build install
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installdebconf
|
||||||
|
dh_installdocs -X.svn
|
||||||
|
dh_installexamples
|
||||||
|
dh_installman
|
||||||
|
dh_installcron
|
||||||
|
dh_link
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms -X/var
|
||||||
|
dh_installdeb
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
binary-arch:
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install
|
102
ADDITIONS/squirrelmail-plugin/functions.inc.php
Normal file
102
ADDITIONS/squirrelmail-plugin/functions.inc.php
Normal file
@ -0,0 +1,102 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* Postfixadmin (http://postfixadmin.sf.net) integration with Squirrelmail.
|
||||||
|
* See http://squirrelmail-postfixadmin.palepurple.co.uk
|
||||||
|
* @author David Goodwin and many others
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
function do_header() {
|
||||||
|
global $color;
|
||||||
|
displayPageHeader($color, 'None');
|
||||||
|
}
|
||||||
|
|
||||||
|
function do_footer() {
|
||||||
|
echo "</body></html>";
|
||||||
|
}
|
||||||
|
|
||||||
|
function _display_password_form() {
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
do_header('Postfixadmin Squirrelmail - Login');
|
||||||
|
echo _('The PostfixAdmin plugin needs your current mailbox password');
|
||||||
|
echo "<form action='' method='post'>";
|
||||||
|
echo _('Password for');
|
||||||
|
echo " " . $_SESSION['username'] . " :";
|
||||||
|
echo "<input type='password' name='password' value=''>";
|
||||||
|
echo "<input type='submit' value='" . _('Submit') . "'></form>";
|
||||||
|
do_footer();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This returns a Zend_XmlRpc_Client instance - unless we can't log you in...
|
||||||
|
*/
|
||||||
|
function get_xmlrpc() {
|
||||||
|
global $CONF;
|
||||||
|
require_once('Zend/XmlRpc/Client.php');
|
||||||
|
$client = new Zend_XmlRpc_Client($CONF['xmlrpc_url']);
|
||||||
|
$http_client = $client->getHttpClient();
|
||||||
|
$http_client->setCookieJar();
|
||||||
|
|
||||||
|
$login_object = $client->getProxy('login');
|
||||||
|
|
||||||
|
if(empty($_SESSION['password'])) {
|
||||||
|
if(empty($_POST['password'])) {
|
||||||
|
_display_password_form();
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
try {
|
||||||
|
$success = $login_object->login($_SESSION['username'], $_POST['password']);
|
||||||
|
}
|
||||||
|
catch(Exception $e) {
|
||||||
|
//var_dump($client->getHttpClient()->getLastResponse()->getBody());
|
||||||
|
error_log("Failed to login to xmlrpc instance - " . $e->getMessage);
|
||||||
|
die('Failed to login to xmlrpc instance');
|
||||||
|
}
|
||||||
|
if($success) {
|
||||||
|
$_SESSION['password'] = $_POST['password'];
|
||||||
|
// reload the current page as a GET request.
|
||||||
|
header("Location: {$_SERVER['REQUEST_URI']}");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
_display_password_form();
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$success = $login_object->login($_SESSION['username'], $_SESSION['password']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!$success) {
|
||||||
|
unset($_SESSION['password']);
|
||||||
|
die("Invalid details cached... refresh this page and re-enter your mailbox password");
|
||||||
|
}
|
||||||
|
return $client;
|
||||||
|
}
|
||||||
|
|
||||||
|
function include_if_exists($filename) {
|
||||||
|
if(file_exists($filename)) {
|
||||||
|
include_once($filename);
|
||||||
|
}
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
global $optmode;
|
||||||
|
$optmode = 'display';
|
||||||
|
|
||||||
|
//
|
||||||
|
// check_email
|
||||||
|
// Action: Checks if email is valid and returns TRUE if this is the case.
|
||||||
|
// Call: check_email (string email)
|
||||||
|
//
|
||||||
|
function check_email ($email) {
|
||||||
|
$return = filter_var('validate_email', $emai);
|
||||||
|
if($return === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
27
ADDITIONS/squirrelmail-plugin/index.php
Normal file
27
ADDITIONS/squirrelmail-plugin/index.php
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
/****************************************************************************************
|
||||||
|
|
||||||
|
Author ......... Florian Kimmerl
|
||||||
|
Contact ........ info@spacekoeln.de
|
||||||
|
Home Site ...... http://www.spacekoeln.de/
|
||||||
|
Program ........ postfixadmin
|
||||||
|
Version ........ 0.3-1.4
|
||||||
|
Purpose ........ Allows you to change your postfixadmin settings within squirrelmail
|
||||||
|
|
||||||
|
/**
|
||||||
|
* index.php
|
||||||
|
*
|
||||||
|
* Copyright (c) 1999-2003 The SquirrelMail Project Team
|
||||||
|
* Licensed under the GNU GPL. For full terms see the file COPYING.
|
||||||
|
*
|
||||||
|
* This file simply takes any attempt to view source files and sends those
|
||||||
|
* people to the login screen. At this point no attempt is made to see if
|
||||||
|
* the person is logged or not.
|
||||||
|
*
|
||||||
|
*
|
||||||
|
****************************************************************************************/
|
||||||
|
|
||||||
|
header("Location: ../../index.php");
|
||||||
|
|
||||||
|
?>
|
6
ADDITIONS/squirrelmail-plugin/locale/build.sh
Normal file
6
ADDITIONS/squirrelmail-plugin/locale/build.sh
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
for f in $(find . -name postfixadmin.po)
|
||||||
|
do
|
||||||
|
msgfmt -o $(dirname $f)/postfixadmin.mo $f
|
||||||
|
done
|
Binary file not shown.
@ -0,0 +1,132 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2004-01-29 17:35+0100\n"
|
||||||
|
"PO-Revision-Date: 2007-07-20 20:46+0100\n"
|
||||||
|
"Last-Translator: Michael Heca <michael.heca@gmail.com>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Pøesmìrování"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Zde mù¾ete vytvoøit a nastavit pøesmìrování"
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Zde mù¾ete nastavit automatickou odpovìd, pokud nebudete k zasti¾ení."
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Zmìnít heslo k Va¹emu e-mailovému úètu"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Úèet"
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Zmìnit heslo"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Zmìnít heslo k Va¹emu e-mailovému úètu"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr "Editace adresy pro pøesmìrování"
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your domain.<br />One entry per line."
|
||||||
|
msgstr "Editace pøesmìrování pro Vá¹ úèet. <br/> Ka¾dá adresa na novém øádku."
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "Zadaná e-mailová adresa je chybná:"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Neni mo¾né nalézt úèet!"
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "Není mo¾né zmìnit úèet!"
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliase always recieve messages BBC!"
|
||||||
|
msgstr "Dal¹í aliasy dostanou e-mail jako BBC!"
|
||||||
|
|
||||||
|
msgid "Alias successfully changend!"
|
||||||
|
msgstr "Pøesmìrování bylo zmìnìno!"
|
||||||
|
|
||||||
|
msgid "To remove an alias, simply delete it's line from the text box."
|
||||||
|
msgstr "Pro odstranení pøesmìrování sma¾te v¹echny øádky v textovém boxu."
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Automatická odpovìï"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "Jsem mimo"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Jsem zpìt"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Nastavení"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr "Mimo kanceláø"
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Pøedmìt"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Tìlo mailu"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Va¹e automatická odpovìï byla odstranìna!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Va¹e automatická odpovìï byla nastavena!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "U¾ máte nastavenu automatickou odpovìï!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81
|
||||||
|
#: postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "Zadaná hesla nejsou stejná a nebo jsou prázdná!"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70
|
||||||
|
#: postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr "Komu"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "Není mo¾né zmìnit heslo!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "Stávající heslo neodpovídá!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "Va¹e heslo bylo zmìnìno!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "Stávající heslo"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Nové heslo"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Nové heslo znovu"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Prosím odhla¹te se a pøihla¹te se s novým heslem!"
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr "Nebudy k zasti¾ení od <date> do <date>. Pro naléhané po¾adavky prosím kontaktujte <contact person>."
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,127 @@
|
|||||||
|
# Danish translation for Squirrelmail Plugin Postfixadmin.
|
||||||
|
# Copyright (C) 2004 Florian Kimmerl, 2007 David Goodwin
|
||||||
|
# This file is distributed under the same license as the Squirrelmail Plugin Postfixadmin package.
|
||||||
|
# Jesper R. Meyer <jrm@upthere.dk>, 2007.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.4.3\n"
|
||||||
|
"POT-Creation-Date: 2004-01-29 17:35+0100\n"
|
||||||
|
"PO-Revision-Date: 2007-11-09 16:07+0100\n"
|
||||||
|
"Last-Translator: JESPER MEYER <jrm@upthere.dk>\n"
|
||||||
|
"Language-Team: DANISH <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Videresending"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Her kan du oprette og ændre email-videresendinger."
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Tilføj en 'ikke tilstede' besked eller et autosvar til din emailadresse."
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Ændre adgangskoden til din postboks"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Ændre adgangskode"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Ændre din login-adgangskode"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr "Rediger alias"
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your domain.<br />One entry per line."
|
||||||
|
msgstr "Rediger et alias* for dit domæne.<br />En modtager pr. linje."
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "Emailadressen du angav er ugyldig"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Aliaset eksistere ikke!"
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "Kunne ikke ændre aliaset!"
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliase always recieve messages BBC!"
|
||||||
|
msgstr "*Eksta vidersendingsalias modtager altid meddelelser BCC!"
|
||||||
|
|
||||||
|
msgid "Alias successfully changend!"
|
||||||
|
msgstr "Alias ændret!"
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Autosvar"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "Tager afsted"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Kommer tilbage"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Indstillinger"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr "Ikke tilstede"
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Emne"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Meddelelse"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Autosvar er fjernet!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Autosvar er aktiveret!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "Du har allerede et autosvar indstillet!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81 postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "Adgangskoderne er ikke ens!<br />Eller er tomme!"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70 postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr "Til"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "Kan ikke ændre adgangskoden!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "Du glemte at skrive din nuværende adgangskode!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "Din adgangskode er ændret!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "Nuværende adgangskode"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Ny adgangskode"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Ny adgangskode (igen)"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Log af og log ind igen med din nye adgangskode!"
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr "Jeg er ikke tilstede i perioden <dato> til <dato>. I nødstilfælde kan <kontaktperson> kontaktes."
|
Binary file not shown.
@ -0,0 +1,127 @@
|
|||||||
|
# postfixadmin - Plugin for Squirrelmail.
|
||||||
|
# Copyright (C) 2004 FLORIAN KIMMERL
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# Florian Kimmerl <info@spacekoeln.de>, 2004.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.3-1.4\n"
|
||||||
|
"POT-Creation-Date: 2004-01-28 16:32+0100\n"
|
||||||
|
"PO-Revision-Date: 2004-01-28 16:32+0100\n"
|
||||||
|
"Last-Translator: FLORIAN KIMMERL <info@spacekoeln.de>\n"
|
||||||
|
"Language-Team: GERMAN <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=ISO-8859-1\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Weiterleitungen"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Hier können Sie E-Mail-Weiterleitungen erstellen und bearbeiten."
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Hier können Sie den Abwesenheits-Assistenten konfigurieren."
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Hier können Sie Passwort ändern. Nach der Änderung müssen Sie sich neu anmelden!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "E-Mail"
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Passwort ändern"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Ändern Sie Ihr Zugangspasswort für POP3/IMAP"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr "E-Mail Weiterleitungen bearbeiten"
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your domain.<br />One entry per line."
|
||||||
|
msgstr "Bearbeiten Sie hier Ihre E-Mail Weiterleitungen*.<br />Ein Eintrag pro Zeile."
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "Die angegebene E-Mail-Adresse ist ungültig:"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Ihre Weiterleitungen können nicht angefordert werden! Versuchen Sie es später erneut."
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "Ihre Weiterleitungen können nicht modifiziert werden! Versuchen Sie es später erneut."
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliase always recieve messages BBC!"
|
||||||
|
msgstr "*Zusätzliche Weiterleitungen erhalten alle Nachrichten als Kopie (BCC)!"
|
||||||
|
|
||||||
|
msgid "Alias successfully changend!"
|
||||||
|
msgstr "Weiterleitungen wurden erfolgreich geändert!"
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Abwesenheits-Assistent"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "Ich bin weg"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Ich bin zurück"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Optionen"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Betreff"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Nachrichtentext"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Iher Abwesenheits-Nachricht wurde deaktiviert!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Ihre Abwesenheits-Nachricht wurde aktiviert!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "Ihre Abwesenheits-Nachricht ist bereits aktiviert!"
|
||||||
|
|
||||||
|
msgid "back"
|
||||||
|
msgstr "zurück"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81 postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "Die beiden neuen Passwörter stimmen nicht überein!<br />Oder die Felder wurden nicht ausgefüllt!"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70 postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr "An"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "Ihr Passwort kann nicht geändert werden!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "Ihr aktuelles Passwort wurde nicht angegeben oder ist falsch!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "Ihr Passwort wurde ergolgreich geändert!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "Passwort aktuell"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Passwort neu"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Passwort neu nochmal"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Bitte melden Sie sich hier ab und loggen sich mit Ihrem neuen Passwort erneut ein! "
|
Binary file not shown.
@ -0,0 +1,135 @@
|
|||||||
|
# postfixadmin - Plugin for Squirrelmail.
|
||||||
|
# Copyright (C) 2004 FLORIAN KIMMERL
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# Florian Kimmerl <info@spacekoeln.de>, 2004.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: 0.3-1.4\n"
|
||||||
|
"POT-Creation-Date: 2004-01-28 16:32+0100\n"
|
||||||
|
"PO-Revision-Date: 2004-01-28 16:32+0100\n"
|
||||||
|
"Last-Translator: FLORIAN KIMMERL <info@spacekoeln.de>\n"
|
||||||
|
"Language-Team: HUNGARIAN <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=ISO-8859-2\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Levéltovábbítás"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Itt tudod létrehozni és szerkeszteni az E-mail továbbításokat."
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Itt lehet beállítani az automatikus válasz levél szövegét, ha az ember távol van."
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Itt tudod megváltoztatni a belépéshez szükséges jelszót."
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "E-mail"
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Jelszó megváltoztatása"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Bejelentkezési jelszó megváltoztatása"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Forward"
|
||||||
|
msgstr "Levéltovábbítás szerkesztése"
|
||||||
|
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr "Levéltovábbítás szerkesztése"
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "Az E-mail cím amit beírtál hibás:"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Hiba az e-mail címmel."
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "A módosítás sikertelen!"
|
||||||
|
|
||||||
|
msgid "Alias successfully changed!"
|
||||||
|
msgstr "A módosítás sikeres!"
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Automatikus válasz"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "Házonkívül vagyok"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Visszajöttem"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Opciók"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr "Házonkívül"
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Tárgy"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Levéltörzs"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Az automatikus válasz törölve lett!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Az automatikus válasz be lett állítva!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "Már létezik egy automatikus válasz!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81 postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "A jelszavak nem egyeznek!<br />Vagy üresen hagytad a mezõket!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "A jelszó megváltoztatása sikertelen!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "Az aktuális jelszó nem megfelelõ!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "A jelszó változtatása sikeres volt!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "Aktuális jelszó"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Új jelszó"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Új jelszó mégegyszer"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Kérjük, jelentkezzen ki, majd újra be az új jelszavával!"
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr "Házonkívül leszek <date> és <date> között. Sürgõs esetben értesítendõ: <contact person>."
|
||||||
|
|
||||||
|
msgid "One copy always goes to"
|
||||||
|
msgstr "Egy másolat mindig ide"
|
||||||
|
|
||||||
|
msgid "Another copy also goes to"
|
||||||
|
msgstr "További másolatok ide"
|
||||||
|
|
||||||
|
msgid "Enter an email address (or addresses) where you would like an additional copy of messages addressed to you sent.<br> Enter only one address per line."
|
||||||
|
msgstr "Sorolja fel azokat az e-mail címeket, amelyekre az Önhöz érkezõ leveleket továbbítani szeretné.<br>Soronként csak egy címet adjon meg!"
|
||||||
|
|
||||||
|
msgid "A copy of each message will go to both your mailbox and the forwarded address(es)."
|
||||||
|
msgstr "Minden Önnek címzett levél meg fog érkezni a saját postafiókjába és a továbbított e-mail címekre is."
|
||||||
|
|
||||||
|
msgid "To remove a Forward, simply delete its line from the text box."
|
||||||
|
msgstr "Ahhoz, hogy töröljön egy továbbítást, ki kell törölnie az adott sort a felsorolásból."
|
@ -0,0 +1,129 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2004-01-29 17:35+0100\n"
|
||||||
|
"PO-Revision-Date: 2010-02-19 11:30+0100\n"
|
||||||
|
"Last-Translator: valentina <ruggiolona@tiscali.it>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Inoltro E-MAIL"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Qui puoi creare e modificare l'inoltro dell' E-MAIL."
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Imposta un messaggio OUT OF OFFICE / ASSENTE o un risponditore automatico per la tua mail."
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Modifica la tua password di accesso alla mail"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Modifica password"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Modifica la tua password di accesso"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr "Modifica Alias"
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your domain.<br />One entry per line."
|
||||||
|
msgstr "Modifica un Alias per il tuo dominio.<br />Un record per linea."
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "L'indirizzo email che hai inserito non è corretto:"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Impossibile trovare l'alias!"
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "Impossibile modificare l'alias!"
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliase always recieve messages BBC!"
|
||||||
|
msgstr "* L'inoltro ad un alias aggiuntivo comporta l'invio del messaggio in BCC!"
|
||||||
|
|
||||||
|
msgid "Alias successfully changend!"
|
||||||
|
msgstr "Alias modificato correttamente!"
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Risponditore automatico"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "Going Away"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Coming Back"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Opzioni"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr "Out of Office/Assente"
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Oggetto"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Messaggio"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Il risponditore automatico è stato disattivato!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Il risponditore automatico è stato configurato!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "Hai gia configurato il risponditore automatico !"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81
|
||||||
|
#: postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "Le password inserite non coincidono!<br />O i campi sono vuoti!"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70
|
||||||
|
#: postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr "A"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "Impossibile modificare la password"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "Non hai indicato la password attuale!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "La tua password è stata modificata!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "Password attuale"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Nuova password"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Insierisci nuovamente la nuova password"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Per favore fai log out e riaccedi alla tua mail con la nuova password!"
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr "Mi dispiace sarò assente dal <date> al <date>. Per richieste urgenti vi prego di contattare <nome e indirizzo email>. I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,131 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: postfixadmin-squirrelmail 2.1.0\n"
|
||||||
|
"POT-Creation-Date: 2007-11-16 17:35+0100\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: Johan <johan@double-l.nl>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Doorsturen"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Hier kunt u uw doorstuur adres bewerken"
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Configureer hier uw automatisch beantwoorden"
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Verander uw wachtwoord"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Alias"
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Verander wachtwoord"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Verander uw login wachtwoord"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Forwards"
|
||||||
|
msgstr "Bewerk aliassen"
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your email address.<br />One entry per line."
|
||||||
|
msgstr "Bewerk uw alias(sen) voor uw emailadres.<br />1 alias per regel."
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "Het ingevoerde adres is geen geldig adres"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Niet in staat opgeven alias te vinden!"
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "Niet in staat de alias aan te passen"
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliases always receive messages BBC!"
|
||||||
|
msgstr "Aliassen ontvangen altijd per BCC! "
|
||||||
|
|
||||||
|
msgid "To remove an alias, simply delete its line from the text box."
|
||||||
|
msgstr "Verwijder de regel om de alias(sen) te verwijderen."
|
||||||
|
|
||||||
|
msgid "Alias successfully changed!"
|
||||||
|
msgstr "Alias succesvol aangepast"
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Automatisch beantwoorden"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "Ik ben weg, schakel Out of Office IN"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Ik ben terug, schakel Out of Office UIT"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Opties"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr "Out of office"
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Onderwerp"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Tekst"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Uw automatisch beantwoorden is verwijderd!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Uw automatisch beantwoorden is geactiveerd!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "Automatisch beantwoorden is al geconfigureerd!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81 postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "De wachtwoorden komen niet overeen!<br />Of er is geen wachtwoord opgegeven!"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70 postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr "Aan"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "Niet in staat uw wachtwoord te wijzigen!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "U moet uw huidige wachtwoord opgeven!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "Uw wachtwoord is gewijzigd!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "Huidig wachtwoord"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Nieuw wachtwoord"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Nieuw wachtwoord nogmaals"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Log uit en opnieuw in met het nieuwe wachtwoord"
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr "Ik ben niet aanwezig van <datum> tot <datum>. Voor dringende zaken kunt u contact opnemen met <Contact persoon>."
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,132 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2004-01-29 17:35+0100\n"
|
||||||
|
"PO-Revision-Date: 2007-07-20 20:46+0100\n"
|
||||||
|
"Last-Translator: Krzysztof Laska <krzysiek@dip.pl>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Przekazywanie"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Tutaj mo¿esz ustawiæ i edytowaæ opcje przekazywania wiadomo¶ci"
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Ustaw wiadomo¶æ wysy³an± nadawcom podczas Twojej nieobecno¶ci (Vacation)"
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Zmieñ has³o do swojego konta pocztowego"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr "Konto"
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Zmieñ has³o"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Zmieñ has³o do swojego konta pocztowego"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr "Edytuj adresy do przekazywania"
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your domain.<br />One entry per line."
|
||||||
|
msgstr "Edytuj forward* dla swojego konta. <br/> Ka¿dy adres w nowym wierszu."
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "Adres e-mail jaki poda³e¶ jest niepoprawny:"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Nie mo¿na zlokalizowaæ aliasu!"
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "Nie mo¿na zmodyfikowaæ aliasu!"
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliase always recieve messages BBC!"
|
||||||
|
msgstr "*Wszystkie dodatkowe adresy zawsze odbieraj± wiadomo¶ci przesy³ane jako BCC! Ca³a poczta jest przekazywana i nie jest przechowywana na koncie podstawowym!"
|
||||||
|
|
||||||
|
msgid "Alias successfully changend!"
|
||||||
|
msgstr "Zmiana zachowana!"
|
||||||
|
|
||||||
|
msgid "To remove an alias, simply delete it's line from the text box."
|
||||||
|
msgstr "¯eby wy³±czyæ forward na dane konto po prostu usuñ liniê z adresem na który nie chcesz ju¿ przekazywaæ poczty."
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Autoodpowied¼"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "W³±cz autoodpowied¼"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Wy³±cz autoodpowied¼"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Opcje"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr "Autoodpowied¼"
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Temat"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Tre¶æ"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Twoja autoodpowied¼ zosta³a wy³±czona!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Twoja autoodpowied¼ zosta³a w³±czona!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "Masz ju¿ skonfigurowan± autoodpowied¼!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81
|
||||||
|
#: postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "Has³a które poda³e¶ nie pasuj± lub s± puste!"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70
|
||||||
|
#: postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr "Do"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "Nie mo¿na zmieniæ has³a!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "Nie poda³e¶ aktualnego has³a!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "Twoje has³o zosta³o zmienione!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "Bie¿±ce has³o"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Nowe has³o"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Powtórz nowe has³o"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Wyloguj siê i zaloguj z nowym has³em!"
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr "Nie bêdê odbieraæ poczty pomiêdzy <data> a <data>. W sprawach pilnych proszê kontaktowaæ siê z <osoba kontaktowa>"
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,127 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2004-01-29 17:35+0100\n"
|
||||||
|
"PO-Revision-Date: 2008-10-16 20:30+3\n"
|
||||||
|
"Last-Translator: Julio Covolato <julio@psi.com.br>\n"
|
||||||
|
"Language-Team: BRAZILIAN PORTUGUESE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr "Encaminhar"
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr "Aqui Você pode criar e editar alias."
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr "Configurar mensagem de férias para seu email."
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr "Troque a senha de seu email."
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr "Mudar Senha"
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr "Mude sua senha de login"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr "Editar Alias"
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your domain.<br />One entry per line."
|
||||||
|
msgstr "Editar um alias* para seu domínio.<br /> Uma entrada por linha."
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr "Este endereço de email informado não é válido:"
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr "Alias não encontrado!"
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr "Impossível modificar o alias!"
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliase always recieve messages BBC!"
|
||||||
|
msgstr "*Alias adicionais sempre recebem mensagens em BCC"
|
||||||
|
|
||||||
|
msgid "Alias successfully changend!"
|
||||||
|
msgstr "Alias alterado com sucesso!"
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr "Auto resposta"
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr "Ativar"
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr "Desativar"
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr "Opções"
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr "Fora do escritório"
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr "Assunto"
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr "Mensagem"
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr "Sua auto resporta foi removida!"
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr "Sua auto resposta foi ativada!"
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr "Você ainda tem uma auto resposta ativa"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81 postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr "A senha digitada não confere!<br />Ou está vazia"
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70 postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr "Para"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr "Impossível alterar a sua senha!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr "Você não forneceu a sua senha atual!"
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr "Sua senha foi alterada com sucesso!"
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr "senha atual"
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr "Nova senha"
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr "Confirme a nova senha"
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr "Por favor, saia e entre novamente no webmail com a nova senha"
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr "Estarei fora do escritório entre os dias <data> e <data> do mês de <mês>.<br /> Qualquer mensagem urgente, favor enviar para o email <email>."
|
127
ADDITIONS/squirrelmail-plugin/po/postfixadmin.po
Normal file
127
ADDITIONS/squirrelmail-plugin/po/postfixadmin.po
Normal file
@ -0,0 +1,127 @@
|
|||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"POT-Creation-Date: 2004-01-29 17:35+0100\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=CHARSET\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
|
||||||
|
#: setup.php
|
||||||
|
msgid "Forwarding"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Here you can create and edit E-Mail forwards."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Set an OUT OF OFFICE message or auto responder for your mail."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Change your mailbox password."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php
|
||||||
|
msgid "Alias"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Change Password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Change your login password"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php
|
||||||
|
msgid "Edit Alias"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Edit an alias* for your domain.<br />One entry per line."
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "The email address that you have entered is not valid:"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Unable to locate alias!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Unable to modify the alias!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "*Additional forward-aliase always recieve messages BBC!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Alias successfully changend!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_vacation.php
|
||||||
|
msgid "Auto Response"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Going Away"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Coming Back"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Options"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Out of Office"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Subject"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Body"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Your auto response has been removed!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Your auto response has been set!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "You already have an auto response configured!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:81 postfixadmin_changepass.php:87
|
||||||
|
msgid "The passwords that you supplied don't match!<br />Or are empty!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_forward.php:70 postfixadmin_forward.php:152
|
||||||
|
msgid "To"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:101
|
||||||
|
msgid "Unable to change your password!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:75
|
||||||
|
msgid "You didn't supply your current password!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: postfixadmin_changepass.php:96
|
||||||
|
msgid "Your password has been changed!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Password current"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Password new"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Password new again"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "Please sign out and log back again with your new password!"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
msgid "I will be away from <date> until <date>. For urgent matters you can contact <contact person>."
|
||||||
|
msgstr ""
|
128
ADDITIONS/squirrelmail-plugin/postfixadmin_changepass.php
Normal file
128
ADDITIONS/squirrelmail-plugin/postfixadmin_changepass.php
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
<?php
|
||||||
|
require_once(dirname(__FILE__) . '/common.php');
|
||||||
|
|
||||||
|
$xmlrpc = get_xmlrpc();
|
||||||
|
$user = $xmlrpc->getProxy('user');
|
||||||
|
|
||||||
|
global $username;
|
||||||
|
|
||||||
|
do_header();
|
||||||
|
|
||||||
|
$USERID_USERNAME = $username;
|
||||||
|
$tmp = preg_split ('/@/', $USERID_USERNAME);
|
||||||
|
$USERID_DOMAIN = $tmp[1];
|
||||||
|
|
||||||
|
|
||||||
|
$stMessage = '';
|
||||||
|
$tMessage = '';
|
||||||
|
$pPassword_admin_text = '';
|
||||||
|
$pPassword_password_current_text = '';
|
||||||
|
$pPassword_password_text = '';
|
||||||
|
$error = 0;
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] == "POST")
|
||||||
|
{
|
||||||
|
//$pPassword_password_text = _("pPassword_password_text");
|
||||||
|
$fPassword_current = $_POST['fPassword_current'];
|
||||||
|
$fPassword = $_POST['fPassword'];
|
||||||
|
$fPassword2 = $_POST['fPassword2'];
|
||||||
|
$username = $USERID_USERNAME;
|
||||||
|
|
||||||
|
if(!$user->login($_SESSION['username'], $_POST['fPassword_current'])) {
|
||||||
|
$error = 1;
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$pPassword_password_current_text = _("You didn't supply your current password!");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
$min_length = 0;
|
||||||
|
if(isset($CONF['min_password_length'])) {
|
||||||
|
$min_length = $CONF['min_password_length'];
|
||||||
|
}
|
||||||
|
if (empty ($fPassword) or ($fPassword != $fPassword2) or ($min_length > 0 && strlen($fPassword) < $min_length)) {
|
||||||
|
$error = 1;
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
if(empty($fPassword)) {
|
||||||
|
$pPassword_password_text .= _("The passwords that you supplied are empty!");
|
||||||
|
}
|
||||||
|
if($fPassword != $fPassword2) {
|
||||||
|
$pPassword_password_text .= _("The passwords that you supplied don't match!");
|
||||||
|
}
|
||||||
|
if($min_length > 0 && strlen($fPassword) < $min_length) {
|
||||||
|
$pPassword_password_text .= _("The password you supplied is too short!");
|
||||||
|
}
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($error != 1) {
|
||||||
|
$success = $user->changePassword($fPassword_current, $fPassword);
|
||||||
|
|
||||||
|
if ($success) {
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("Your password has been changed!");
|
||||||
|
$stMessage = _("Please sign out and log back again with your new password!");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("Unable to change your password!");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "<table bgcolor=\"$color[0]\" align=\"center\" width=\"95%\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\">
|
||||||
|
<tr>
|
||||||
|
<td align=\"center\"><b>". _("Options") ." - ". _("Change Password")." </b>
|
||||||
|
<table align=\"center\" width=\"100%\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\">
|
||||||
|
<tr><td bgcolor=\"$color[4]\" align=\"center\"><br>
|
||||||
|
<table align=\"center\" width=\"95%\" cellpadding=\"4\" cellspacing=\"0\" border=\"0\"><tr>
|
||||||
|
<td bgcolor=\"$color[3]\" align=\"center\"><b>" ._("Change your login password") ."\n
|
||||||
|
</b></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor=\"$color[0]\" align=\"center\"><form name=\"mailbox\" method=\"post\">
|
||||||
|
<b>$tMessage<b><font color=red><br>
|
||||||
|
<a href=\"../../src/signout.php\" target=\"_top\">$stMessage</a>
|
||||||
|
".$pPassword_admin_text."\n
|
||||||
|
".$pPassword_password_current_text."\n
|
||||||
|
".$pPassword_password_text."\n
|
||||||
|
</b><table width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\">
|
||||||
|
<tr>
|
||||||
|
<td width=\"37%\"><b>". _("Alias") . ":\n</td>
|
||||||
|
<td width=\"63%\">{$_SESSION['username']}</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><b>". _("Password current"). ":\n</td>
|
||||||
|
<td><input type=\"password\" name=\"fPassword_current\" size=\"30\" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><b>". _("Password new"). ":\n</td>
|
||||||
|
<td><input type=\"password\" name=\"fPassword\" size=\"30\" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><b>". _("Password new again"). ":\n</td>
|
||||||
|
<td><input type=\"password\" name=\"fPassword2\" size=\"30\" /></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> </td>
|
||||||
|
<td><input type=\"submit\" name=\"submit\" value=\"" ._("Change Password") . "\" /></td>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<TT></TT></FORM></td>
|
||||||
|
</tr><tr><td bgcolor=\"$color[4]\" align=\"left\"> </td>
|
||||||
|
</tr></table><BR>
|
||||||
|
</td>
|
||||||
|
</tr></table></td></tr></table>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
?>
|
161
ADDITIONS/squirrelmail-plugin/postfixadmin_forward.php
Normal file
161
ADDITIONS/squirrelmail-plugin/postfixadmin_forward.php
Normal file
@ -0,0 +1,161 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once(dirname(__FILE__) . '/common.php');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
$USERID_USERNAME = $username;
|
||||||
|
$tmp = preg_split ('/@/', $USERID_USERNAME);
|
||||||
|
$USERID_LOCALPART = $tmp[0];
|
||||||
|
$USERID_DOMAIN = $tmp[1];
|
||||||
|
|
||||||
|
$xmlrpc = get_xmlrpc();
|
||||||
|
$alias = $xmlrpc->getProxy('alias');
|
||||||
|
do_header();
|
||||||
|
// Normal page request (GET)
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] == "GET")
|
||||||
|
{
|
||||||
|
$row = $alias->get();
|
||||||
|
if($row === false) {
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("Unable to locate alias!");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] == "POST")
|
||||||
|
{
|
||||||
|
$pEdit_alias_goto = _("To");
|
||||||
|
|
||||||
|
$fGoto = $_POST['fGoto'];
|
||||||
|
|
||||||
|
// reform string into a list...
|
||||||
|
$goto = preg_replace ('/\r\n/', ',', $fGoto);
|
||||||
|
$goto = preg_replace ('/[\s]+/i', '', $goto);
|
||||||
|
$goto = preg_replace ('/\,*$/', '', $goto);
|
||||||
|
$array = preg_split ('/,/', $goto);
|
||||||
|
|
||||||
|
$error = 0;
|
||||||
|
// check that we have valid addresses in the list
|
||||||
|
foreach($array as $email_address)
|
||||||
|
{
|
||||||
|
if (empty($email_address))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (!check_email($email_address))
|
||||||
|
{
|
||||||
|
$error = 1;
|
||||||
|
$tGoto = $goto;
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("The email address that you have entered is not valid:") . " $email_address</font>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($error != 1) {
|
||||||
|
$flag = 'forward_and_store'; // goto = $USERID_USERNAME;
|
||||||
|
|
||||||
|
$success = $alias->update($array, $flag);
|
||||||
|
if(!$success) {
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("Unable to modify the alias!");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "<p align=center><b>". _("Alias successfully changed!"). "\n</b></p>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
echo "<p align=center><a href=\"javascript:history.go(-1)\">". _("Click here to go back") ."</a></p>";
|
||||||
|
exit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "<table bgcolor=\"$color[0]\" align=\"center\" width=\"95%\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\">
|
||||||
|
<tr>
|
||||||
|
<td align=\"center\" bgcolor=\"$color[0]\" colspan=\"2\">
|
||||||
|
<b>". _("Options") ." - ". _("Edit Alias"). " </b>
|
||||||
|
<table align=\"center\" width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">
|
||||||
|
<tr>
|
||||||
|
<td bgcolor=\"$color[4]\" align=\"center\">
|
||||||
|
<table align=\"center\" width=\"100%\">
|
||||||
|
<tr>
|
||||||
|
<td align=\"left\">". _("Edit an alias* for your email address.<br />One entry per line."). " </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align=\"left\">". _("*Additional forward-aliases always receive messages BCC!"). "\n
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td align=\"left\">" . _("To remove an alias, simply delete its line from the text box.") . "</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<table align=\"center\" width\"95%\" cellpadding=\"5\" cellspacing=\"1\">
|
||||||
|
<form name=\"mailbox\" method=\"post\">
|
||||||
|
<tr>
|
||||||
|
<td bgcolor=\"$color[3]\" align=\"center\"><b>". _("Edit Forwards"). "</b>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td bgcolor=\"$color[5]\" align=\"center\">$tMessage
|
||||||
|
<table cellpadding=\"5\" cellspacing=\"1\">
|
||||||
|
<tr>
|
||||||
|
<th align=\"left\">". _("Alias"). ":\n
|
||||||
|
</th>
|
||||||
|
<td align=\"left\">" . $_SESSION['username'] . "</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th> </th>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th align=\"left\" valign=\"top\">". _("To"). ":\n</th>
|
||||||
|
<td>
|
||||||
|
<textarea rows=\"8\" cols=\"50\" name=\"fGoto\">";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
$aliases = $alias->get();
|
||||||
|
foreach($aliases as $address) {
|
||||||
|
if ($address == "" || $address == NULL) { continue; }
|
||||||
|
print "$address\n";
|
||||||
|
}
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "
|
||||||
|
</textarea>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th> </th>
|
||||||
|
<td> </td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<th> </th>
|
||||||
|
<td align=\"left\"colspan=\"2\">
|
||||||
|
<input type=\"submit\" name=\"submit\" value=\"" . _("Edit Alias") . "\">
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</form>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td></tr>
|
||||||
|
</table>
|
||||||
|
";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
?>
|
157
ADDITIONS/squirrelmail-plugin/postfixadmin_vacation.php
Normal file
157
ADDITIONS/squirrelmail-plugin/postfixadmin_vacation.php
Normal file
@ -0,0 +1,157 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
require_once(dirname(__FILE__) . '/common.php');
|
||||||
|
|
||||||
|
$xmlrpc = get_xmlrpc();
|
||||||
|
$vacation = $xmlrpc->getProxy('vacation');
|
||||||
|
|
||||||
|
$VACCONFTXT = _("I will be away from <date> until <date>. For urgent matters you can contact <contact person>.");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
$VACCONF = <<<EOM
|
||||||
|
$VACCONFTXT
|
||||||
|
EOM;
|
||||||
|
|
||||||
|
do_header();
|
||||||
|
|
||||||
|
$USERID_USERNAME = $username;
|
||||||
|
$tmp = preg_split ('/@/', $USERID_USERNAME);
|
||||||
|
$USERID_DOMAIN = $tmp[1];
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] == "GET")
|
||||||
|
{
|
||||||
|
$details = $vacation->getDetails();
|
||||||
|
if($vacation->checkVacation()) {
|
||||||
|
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("You already have an auto response configured!");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "<table bgcolor=\"#b8cbdc\" align=\"center\" width=\"95%\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\"><tr>
|
||||||
|
<td align=\"center\"><b>". _("Options") ." - ". _("Auto Response") ."</b>
|
||||||
|
<table align=\"center\" width=\"100%\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\">
|
||||||
|
<tr><td bgcolor=\"$color[4]\" align=\"center\"><br>
|
||||||
|
<table align=\"center\" width=\"70%\" cellpadding=\"4\" cellspacing=\"0\" border=\"0\"><tr>
|
||||||
|
<td bgcolor=\"$color[3]\" align=\"center\"><b>". _("Auto Response") ."\n
|
||||||
|
</b></td></tr><tr>
|
||||||
|
<td bgcolor=\"$color[0]\" align=\"center\"><form name=\"vacation\" method=\"post\">
|
||||||
|
<table width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\">
|
||||||
|
<tr>
|
||||||
|
<td><center>$tMessage<p></center></td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td> <div align=\"center\">
|
||||||
|
<input type=\"submit\" name=\"fBack\" value=\"" . _("Coming Back"). "\" />
|
||||||
|
</div></td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<TT></TT></FORM>
|
||||||
|
</td>
|
||||||
|
</tr><tr><td bgcolor=\"$color[4]\" align=\"left\"> </td>
|
||||||
|
</tr></table><BR></td></tr></table></td></tr></table>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$tSubject = "Out of Office";
|
||||||
|
$tSubject = $details['subject'];
|
||||||
|
$VACCONF = $details['body'];
|
||||||
|
|
||||||
|
$tMessage = '';
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "<table bgcolor=\"$color[0]\" align=\"center\" width=\"95%\" cellpadding=\"1\" cellspacing=\"0\" border=\"0\">
|
||||||
|
<tr>
|
||||||
|
<td align=\"center\"><b>". _("Options") ." - ". _("Auto Response") ." </b>
|
||||||
|
<table align=\"center\" width=\"100%\" cellpadding=\"5\" cellspacing=\"0\" border=\"0\">
|
||||||
|
<tr><td bgcolor=\"$color[4]\" align=\"center\"><br>
|
||||||
|
<table align=\"center\" width=\"70%\" cellpadding=\"4\" cellspacing=\"0\" border=\"0\"><tr>
|
||||||
|
<td bgcolor=\"$color[3]\" align=\"center\"><b>" . _("Auto Response") ."\n
|
||||||
|
</b></td></tr><tr>
|
||||||
|
<td bgcolor=\"$color[0]\" align=\"center\"><form name=\"vacation\" method=\"post\">$tMessage
|
||||||
|
<table width=\"95%\" border=\"0\" cellspacing=\"0\" cellpadding=\"2\"><tr>
|
||||||
|
<td width=\"23%\">". _("Subject") .":\n</td>
|
||||||
|
<td width=\"2%\"> </td>
|
||||||
|
<td width=\"69%\"><input type=\"text\" name=\"fSubject\" value=\"" . $tSubject . "\" /></td>
|
||||||
|
<td width=\"2%\"> </td>
|
||||||
|
<td width=\"4%\"> </td>
|
||||||
|
</tr><tr>
|
||||||
|
<td>". _("Body") .":\n</td>
|
||||||
|
<td> </td>
|
||||||
|
<td><textarea rows=\"10\" cols=\"80\" name=\"fBody\">$VACCONF\n
|
||||||
|
</textarea></td><td> </td><td> </td></tr><tr><td> </td><td> </td>
|
||||||
|
<td><input type=\"submit\" name=\"fAway\" value=\"" . _("Going Away") . "\" /></td>
|
||||||
|
<td> </td><td> </td></tr>
|
||||||
|
</table><TT></TT></FORM></td>
|
||||||
|
</tr><tr><td bgcolor=\"$color[4]\" align=\"left\"> </td>
|
||||||
|
</tr></table><BR></td></tr></table></td></tr></table>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($_SERVER['REQUEST_METHOD'] == "POST")
|
||||||
|
{
|
||||||
|
$fBack = null;
|
||||||
|
$fAway = null;
|
||||||
|
foreach(array('fBack', 'fAway', 'fSubject', 'fBody') as $key) {
|
||||||
|
$$key = null;
|
||||||
|
if(isset($_POST[$key])) {
|
||||||
|
$$key = $_POST[$key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty($fBack))
|
||||||
|
{
|
||||||
|
$success = $vacation->remove();
|
||||||
|
|
||||||
|
if(!$success)
|
||||||
|
{
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("Unable to update your auto response settings!");
|
||||||
|
echo "<p>This may signify an error; please contact support (1)</p>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "<p align=center><b>". _("Your auto response has been removed!") ."</b></p>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!empty ($fAway))
|
||||||
|
{
|
||||||
|
// add record into vacation
|
||||||
|
$success = $vacation->setAway($fSubject, $fBody);
|
||||||
|
|
||||||
|
if(!$success) {
|
||||||
|
$error = 1;
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$tMessage = _("Unable to update your auto response settings!");
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
echo "<p align=center><b>". _("Your auto response has been set!") ."</b></p>";
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
?>
|
62
ADDITIONS/squirrelmail-plugin/setup.php
Normal file
62
ADDITIONS/squirrelmail-plugin/setup.php
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
<?php
|
||||||
|
// vim:ts=4:sw=4:et
|
||||||
|
include_once(SM_PATH . 'functions/i18n.php');
|
||||||
|
|
||||||
|
function squirrelmail_plugin_init_postfixadmin() {
|
||||||
|
include(SM_PATH.'plugins/postfixadmin/config.php');
|
||||||
|
|
||||||
|
global $squirrelmail_plugin_hooks;
|
||||||
|
|
||||||
|
$squirrelmail_plugin_hooks['optpage_register_block']['postfixadmin'] = 'postfixadmin_optpage_register_block';
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
function postfixadmin_version(){
|
||||||
|
return '2.3.0';
|
||||||
|
}
|
||||||
|
|
||||||
|
function postfixadmin_optpage_register_block () {
|
||||||
|
// Gets added to the user's OPTIONS page.
|
||||||
|
global $optpage_blocks;
|
||||||
|
global $AllowVacation;
|
||||||
|
global $AllowChangePass;
|
||||||
|
|
||||||
|
// if ( !soupNazi() ) {
|
||||||
|
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
$optpage_blocks[] = array (
|
||||||
|
'name' => _("Forwarding"),
|
||||||
|
'url' => '../plugins/postfixadmin/postfixadmin_forward.php',
|
||||||
|
'desc' => _("Here you can create and edit E-Mail forwards."),
|
||||||
|
'js' => FALSE
|
||||||
|
);
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
if($AllowVacation) {
|
||||||
|
$optpage_blocks[] = array(
|
||||||
|
'name' => _("Auto Response"),
|
||||||
|
'url' => '../plugins/postfixadmin/postfixadmin_vacation.php',
|
||||||
|
'desc' => _("Set an OUT OF OFFICE message or auto responder for your mail."),
|
||||||
|
'js' => false
|
||||||
|
);
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
bindtextdomain('postfixadmin', SM_PATH . 'plugins/postfixadmin/locale');
|
||||||
|
textdomain('postfixadmin');
|
||||||
|
if($AllowChangePass) {
|
||||||
|
$optpage_blocks[] = array(
|
||||||
|
'name' => _("Change Password"),
|
||||||
|
'url' => '../plugins/postfixadmin/postfixadmin_changepass.php',
|
||||||
|
'desc' => _("Change your mailbox password."),
|
||||||
|
'js' => false
|
||||||
|
);
|
||||||
|
bindtextdomain('squirrelmail', SM_PATH . 'locale');
|
||||||
|
textdomain('squirrelmail');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
?>
|
2
ADDITIONS/squirrelmail-plugin/version
Normal file
2
ADDITIONS/squirrelmail-plugin/version
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
postfixadmin
|
||||||
|
2.3.0
|
@ -10,12 +10,52 @@
|
|||||||
# Last update:
|
# Last update:
|
||||||
# $Id$
|
# $Id$
|
||||||
|
|
||||||
Version ***svn 2.3 branch*** - 2009/12/26 - SVN r***
|
Version 2.3.3 - 2010/**/** - SVN r*** (postfixadmin-2.3 branch)
|
||||||
-----------------------------------
|
---------------------------------------------------------------
|
||||||
|
|
||||||
- NOTE: this release is based on the 2.3 branch
|
- list-virtual: fix displaying of 'modified' column for aliases when using
|
||||||
- NOTE: this is a bugfix-only release for Postfix Admin 2.3
|
postgres
|
||||||
|
- replaced deprecated split() with preg_split() or explode()
|
||||||
|
- functions.inc.php: better error messages when database functions are missing
|
||||||
|
- create domain: fixed typo in variable name that broke the default value for
|
||||||
|
default aliases
|
||||||
|
- create domain: backup MX checkbox is now XHTML compliant
|
||||||
|
- vacation.pl logged literal $variable instead of the variable content at two
|
||||||
|
places
|
||||||
|
- POSTFIX_CONF.txt: fixed filename for quota map
|
||||||
|
- config.inc.php: removed double $CONF['database_prefix']
|
||||||
|
- config.inc.php: fixed comments about domain_post* script parameters
|
||||||
|
|
||||||
|
Version 2.3.2 - 2010/08/24 - SVN r860 (postfixadmin-2.3 branch)
|
||||||
|
---------------------------------------------------------------
|
||||||
|
|
||||||
|
- SUMMARY: PostfixAdmin 2.3.2 is a bugfix-only release for Postfix Admin 2.3.1
|
||||||
|
- SECURITY: attackers could find out if a admin exists (login pre-filled the
|
||||||
|
username after "only" a wrong password was entered)
|
||||||
|
- SECURITY: fix sql injection in list-domain (only exploitable by superadmins)
|
||||||
|
- alias targets in users/edit-alias are now validated
|
||||||
|
- invalid alias targets in users/edit-alias are shown to the user again
|
||||||
|
instead of dropping them
|
||||||
|
- fix dovecot:* password encryption (was broken in 2.3.1)
|
||||||
|
- fix displaying used quota for dovecot <= 1.1 (was broken in 2.3.1)
|
||||||
|
- when deleting a domain that is an alias domain (on the "from" side), the
|
||||||
|
alias domain is deleted
|
||||||
|
|
||||||
|
Version 2.3.1 - 2010/07/09 - SVN r847 (postfixadmin-2.3 branch)
|
||||||
|
---------------------------------------------------------------
|
||||||
|
|
||||||
|
- SUMMARY: PostfixAdmin 2.3.1 is a bugfix-only release for Postfix Admin 2.3.
|
||||||
|
The only visible change is displaying the alias target for mailboxes which
|
||||||
|
was a longstanding issue/"missing feature".
|
||||||
|
The ADDITIONS directory contains some new scripts.
|
||||||
|
- SECURITY: users could bypass checking the old password when changing the
|
||||||
|
password by entering a too short new password. Fortunately only
|
||||||
|
"exploitable" by authentificated users.
|
||||||
|
- merge in changes to /debain (thanks normes) from trunk
|
||||||
|
- display alias targets for mailboxes (if $CONF['special_alias_control'] = YES)
|
||||||
|
- add hook for custom maildir path generation
|
||||||
- add import_users_from_csv.py script (by Simone Piccardi)
|
- add import_users_from_csv.py script (by Simone Piccardi)
|
||||||
|
- add mailbox_post* scripts for cyrus
|
||||||
- handle dovecot passwords without any tempfile (prevents safe_mode issues)
|
- handle dovecot passwords without any tempfile (prevents safe_mode issues)
|
||||||
- fix MySQL 6.0 compatibility
|
- fix MySQL 6.0 compatibility
|
||||||
- fix quota display (for dovecot >= 1.2)
|
- fix quota display (for dovecot >= 1.2)
|
||||||
@ -28,6 +68,23 @@ Version ***svn 2.3 branch*** - 2009/12/26 - SVN r***
|
|||||||
superadmins)
|
superadmins)
|
||||||
- add in_array() check to avoid that superadmins can enter invalid domains
|
- add in_array() check to avoid that superadmins can enter invalid domains
|
||||||
- fix delete link for alias domains (when on target domain)
|
- fix delete link for alias domains (when on target domain)
|
||||||
|
- delete values from quota and quota2 table when deleting a mailbox
|
||||||
|
- fix hardcoded table names in list-domain.php
|
||||||
|
- fixed edit-alias.php not to drop alias to the mailbox if
|
||||||
|
special_alias_control = NO
|
||||||
|
- fix alias handling for mailboxes (special_alias_control vs.
|
||||||
|
alias_control_admin confusion)
|
||||||
|
- fix typo in upgrade.php that broke index creation and deletion when using
|
||||||
|
non-default table names
|
||||||
|
- fix creating 'ALL' domain (dummy for superadmins) when using non-default
|
||||||
|
table names
|
||||||
|
- fix: db_query did not return number of SELECTed rows if query starts with
|
||||||
|
with whitespace
|
||||||
|
- check for $CONF['encrypt'] = 'dovecot:md5-crypt' (postfixadmin login not
|
||||||
|
working because dovecotpw uses a new salt each time), recommend
|
||||||
|
internal md5crypt instead
|
||||||
|
- replaced terribly outdated, broken squirrelmail plugin with a fresh version.
|
||||||
|
Note: The new plugin version requires the Zend framework.
|
||||||
|
|
||||||
Version 2.3 - 2009/10/24 - SVN r739
|
Version 2.3 - 2009/10/24 - SVN r739
|
||||||
-----------------------------------
|
-----------------------------------
|
||||||
@ -104,8 +161,8 @@ Version 2.3 Beta - 2009/01/15 - SVN r527
|
|||||||
|
|
||||||
- added support for domain aliases (from lenix) (can be disabled with $CONF['alias_domain'])
|
- added support for domain aliases (from lenix) (can be disabled with $CONF['alias_domain'])
|
||||||
Important: If you update from a previous version, you'll have to adapt your postfix
|
Important: If you update from a previous version, you'll have to adapt your postfix
|
||||||
configuration (see DOCUMENTS/POSTFIX_CONF.txt) - or just disable alias domain support,
|
configuration (see DOCUMENTS/POSTFIX_CONF.txt) - or just disable alias domain support,
|
||||||
your postfix configuration will continue to work
|
your postfix configuration will continue to work
|
||||||
- updated postfix example configuration for domain aliases and to use the new mysql map format
|
- updated postfix example configuration for domain aliases and to use the new mysql map format
|
||||||
- vacation.pl:
|
- vacation.pl:
|
||||||
- add option for re-notification after definable timeout (patch from Luxten)
|
- add option for re-notification after definable timeout (patch from Luxten)
|
||||||
|
@ -23,6 +23,8 @@ be viewed real-time in Postfixadmin.
|
|||||||
|
|
||||||
default_mail_env = maildir:/var/mail/vmail/%u/
|
default_mail_env = maildir:/var/mail/vmail/%u/
|
||||||
|
|
||||||
|
(dovecot 1.0.7 calls this mail_location ... ie.. mail_location = maildir:/...../%u )
|
||||||
|
|
||||||
auth default {
|
auth default {
|
||||||
mechanisms plain
|
mechanisms plain
|
||||||
userdb sql {
|
userdb sql {
|
||||||
@ -65,6 +67,11 @@ password_query = SELECT username AS user,password FROM mailbox WHERE username =
|
|||||||
|
|
||||||
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid FROM mailbox WHERE username = '%u' AND active='1'
|
user_query = SELECT maildir, 1001 AS uid, 1001 AS gid FROM mailbox WHERE username = '%u' AND active='1'
|
||||||
|
|
||||||
|
for dovecot 1.2: (for PostgreSQL, replace 'CONCAT(a, b)' with 'a || b')
|
||||||
|
user_query = SELECT CONCAT('/home/vmail/', maildir) AS home, 1001 AS uid, 1001 AS gid,
|
||||||
|
CONCAT('*:bytes=', quota) AS quota_rule FROM mailbox WHERE username = '%u' AND active='1'
|
||||||
|
|
||||||
|
|
||||||
NB! The GID and UID are for postfix user and group ID, NOT MySQL user and group ID.
|
NB! The GID and UID are for postfix user and group ID, NOT MySQL user and group ID.
|
||||||
|
|
||||||
|
|
||||||
|
@ -102,7 +102,7 @@ query = SELECT maildir FROM mailbox,alias_domain WHERE alias_domain.alias_domain
|
|||||||
|
|
||||||
# For quota support
|
# For quota support
|
||||||
|
|
||||||
mysql-virtual-mailbox-limit-maps.cf:
|
mysql_virtual_mailbox_limit_maps.cf:
|
||||||
user = postfix
|
user = postfix
|
||||||
password = password
|
password = password
|
||||||
hosts = localhost
|
hosts = localhost
|
||||||
|
12
INSTALL.TXT
12
INSTALL.TXT
@ -117,7 +117,17 @@ create the admin user using the form displayed.
|
|||||||
This is all that is needed. Fire up your browser and go to the site that you
|
This is all that is needed. Fire up your browser and go to the site that you
|
||||||
specified to host Postfix Admin.
|
specified to host Postfix Admin.
|
||||||
|
|
||||||
6. More information
|
6. Integration with Postfix, Dovecot etc.
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
Now that PostfixAdmin is working, you need to do some configuration in Postfix,
|
||||||
|
Dovecot etc. so that they use the domains, mailboxes and aliases you setup in
|
||||||
|
PostfixAdmin.
|
||||||
|
|
||||||
|
The files in the DOCUMENTS/ directory explain which settings you need to
|
||||||
|
do/change.
|
||||||
|
|
||||||
|
7. More information
|
||||||
-------------------
|
-------------------
|
||||||
As of March 2007, PostfixAdmin moved to SourceForge. For the
|
As of March 2007, PostfixAdmin moved to SourceForge. For the
|
||||||
forum posts and source updates, see:
|
forum posts and source updates, see:
|
||||||
|
@ -324,12 +324,12 @@ sub find_real_address {
|
|||||||
# Recipient has vacation
|
# Recipient has vacation
|
||||||
if ($rv == 1) {
|
if ($rv == 1) {
|
||||||
$realemail = $email;
|
$realemail = $email;
|
||||||
$logger->debug("Found '\$email'\ has vacation active");
|
$logger->debug("Found '$email' has vacation active");
|
||||||
} else {
|
} else {
|
||||||
my $vemail = $email;
|
my $vemail = $email;
|
||||||
$vemail =~ s/\@/#/g;
|
$vemail =~ s/\@/#/g;
|
||||||
$vemail = $vemail . "\@" . $vacation_domain;
|
$vemail = $vemail . "\@" . $vacation_domain;
|
||||||
$logger->debug("Looking for alias records that \'$email\' resolves to with vacation turned on");
|
$logger->debug("Looking for alias records that '$email' resolves to with vacation turned on");
|
||||||
$query = qq{SELECT goto FROM alias WHERE address=? AND (goto LIKE ? OR goto LIKE ? OR goto LIKE ? OR goto = ?)};
|
$query = qq{SELECT goto FROM alias WHERE address=? AND (goto LIKE ? OR goto LIKE ? OR goto LIKE ? OR goto = ?)};
|
||||||
$stm = $dbh->prepare($query) or panic_prepare($query);
|
$stm = $dbh->prepare($query) or panic_prepare($query);
|
||||||
$stm->execute($email,"$vemail,%","%,$vemail","%,$vemail,%", "$vemail") or panic_execute($query,"address='$email'");
|
$stm->execute($email,"$vemail,%","%,$vemail","%,$vemail,%", "$vemail") or panic_execute($query,"address='$email'");
|
||||||
|
@ -51,7 +51,6 @@ $CONF['database_host'] = 'localhost';
|
|||||||
$CONF['database_user'] = 'postfix';
|
$CONF['database_user'] = 'postfix';
|
||||||
$CONF['database_password'] = 'postfixadmin';
|
$CONF['database_password'] = 'postfixadmin';
|
||||||
$CONF['database_name'] = 'postfix';
|
$CONF['database_name'] = 'postfix';
|
||||||
$CONF['database_prefix'] = '';
|
|
||||||
// If you need to specify a different port for a MYSQL database connection, use e.g.
|
// If you need to specify a different port for a MYSQL database connection, use e.g.
|
||||||
// $CONF['database_host'] = '172.30.33.66:3308';
|
// $CONF['database_host'] = '172.30.33.66:3308';
|
||||||
// If you need to specify a different port for POSTGRESQL database connection
|
// If you need to specify a different port for POSTGRESQL database connection
|
||||||
@ -149,6 +148,36 @@ $CONF['domain_path'] = 'NO';
|
|||||||
// NO: /usr/local/virtual/domain.tld/username
|
// NO: /usr/local/virtual/domain.tld/username
|
||||||
// Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES.
|
// Note: If $CONF['domain_path'] is set to NO, this setting will be forced to YES.
|
||||||
$CONF['domain_in_mailbox'] = 'YES';
|
$CONF['domain_in_mailbox'] = 'YES';
|
||||||
|
// If you want to define your own function to generate a maildir path set this to the name of the function.
|
||||||
|
// Notes:
|
||||||
|
// - this configuration directive will override both domain_path and domain_in_mailbox
|
||||||
|
// - the maildir_name_hook() function example is present below, commented out
|
||||||
|
// - if the function does not exist the program will default to the above domain_path and domain_in_mailbox settings
|
||||||
|
$CONF['maildir_name_hook'] = 'NO';
|
||||||
|
|
||||||
|
/*
|
||||||
|
maildir_name_hook example function
|
||||||
|
|
||||||
|
Called by create-mailbox.php if $CONF['maildir_name_hook'] == '<name_of_the_function>'
|
||||||
|
- allows for customized maildir paths determined by a custom function
|
||||||
|
- the example below will prepend a single-character directory to the
|
||||||
|
beginning of the maildir, splitting domains more or less evenly over
|
||||||
|
36 directories for improved filesystem performance with large numbers
|
||||||
|
of domains.
|
||||||
|
|
||||||
|
Returns: maildir path
|
||||||
|
ie. I/example.com/user/
|
||||||
|
*/
|
||||||
|
/*
|
||||||
|
function maildir_name_hook($domain, $user) {
|
||||||
|
$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
|
|
||||||
|
$dir_index = hexdec(substr(md5($domain), 28)) % strlen($chars);
|
||||||
|
$dir = substr($chars, $dir_index, 1);
|
||||||
|
return sprintf("%s/%s/%s/", $dir, $domain, $user);
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
// Default Domain Values
|
// Default Domain Values
|
||||||
// Specify your default values below. Quota in MB.
|
// Specify your default values below. Quota in MB.
|
||||||
@ -338,7 +367,7 @@ $CONF['recipient_delimiter'] = "";
|
|||||||
// Note that this may fail if PHP is run in "safe mode", or if
|
// Note that this may fail if PHP is run in "safe mode", or if
|
||||||
// operating system features (such as SELinux) or limitations
|
// operating system features (such as SELinux) or limitations
|
||||||
// prevent the web-server from executing external scripts.
|
// prevent the web-server from executing external scripts.
|
||||||
// Parameters: (1) username
|
// Parameters: (1) domain
|
||||||
//$CONF['domain_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-domain-postcreation.sh';
|
//$CONF['domain_postcreation_script']='sudo -u courier /usr/local/bin/postfixadmin-domain-postcreation.sh';
|
||||||
|
|
||||||
// Optional:
|
// Optional:
|
||||||
@ -346,7 +375,7 @@ $CONF['recipient_delimiter'] = "";
|
|||||||
// Note that this may fail if PHP is run in "safe mode", or if
|
// Note that this may fail if PHP is run in "safe mode", or if
|
||||||
// operating system features (such as SELinux) or limitations
|
// operating system features (such as SELinux) or limitations
|
||||||
// prevent the web-server from executing external scripts.
|
// prevent the web-server from executing external scripts.
|
||||||
// Parameters: (1) username
|
// Parameters: (1) domain
|
||||||
// $CONF['domain_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-domain-postdeletion.sh';
|
// $CONF['domain_postdeletion_script']='sudo -u courier /usr/local/bin/postfixadmin-domain-postdeletion.sh';
|
||||||
|
|
||||||
// Optional:
|
// Optional:
|
||||||
|
@ -78,7 +78,7 @@ if ($_SERVER['REQUEST_METHOD'] == "GET")
|
|||||||
$tAliases = $fAliases;
|
$tAliases = $fAliases;
|
||||||
$tMaxquota = $fMaxquota;
|
$tMaxquota = $fMaxquota;
|
||||||
$tMailboxes = $fMailboxes;
|
$tMailboxes = $fMailboxes;
|
||||||
$tDefaultAliases = $fDefaultaliases;
|
$tDefaultaliases = $fDefaultaliases;
|
||||||
$tBackupmx = $fBackupmx;
|
$tBackupmx = $fBackupmx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -159,7 +159,11 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
{
|
{
|
||||||
$password = pacrypt ($fPassword);
|
$password = pacrypt ($fPassword);
|
||||||
|
|
||||||
if ($CONF['domain_path'] == "YES")
|
if($CONF['maildir_name_hook'] != 'NO' && function_exists($CONF['maildir_name_hook'])) {
|
||||||
|
$hook_func = $CONF['maildir_name_hook'];
|
||||||
|
$maildir = $hook_func ($fDomain, $fUsername);
|
||||||
|
}
|
||||||
|
else if ($CONF['domain_path'] == "YES")
|
||||||
{
|
{
|
||||||
if ($CONF['domain_in_mailbox'] == "YES")
|
if ($CONF['domain_in_mailbox'] == "YES")
|
||||||
{
|
{
|
||||||
|
@ -35,7 +35,7 @@ table {
|
|||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.button:hover {
|
.button:hover, .button:focus {
|
||||||
background: #BCFF36;
|
background: #BCFF36;
|
||||||
color: #888888;
|
color: #888888;
|
||||||
}
|
}
|
||||||
|
27
debian/README.source
vendored
Normal file
27
debian/README.source
vendored
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
This package is using the quilt framework.
|
||||||
|
All patches are located in debian/patches.
|
||||||
|
|
||||||
|
Adding a new patch: quilt new <date-patch_name>
|
||||||
|
This will create a new file debian/patches/patch/date-patch_name.
|
||||||
|
Please use the current date (e.g. 20100221 - YYYYMMDD) as prefix!
|
||||||
|
|
||||||
|
Editing a file to include it into the patch: quilt edit <filename>
|
||||||
|
This will open your $EDITOR.
|
||||||
|
|
||||||
|
To write your changes into the new patchfile: quilt refresh.
|
||||||
|
|
||||||
|
quilt push:
|
||||||
|
Apply patch(es) from the series file. Without options, the next
|
||||||
|
patch in the series file is applied. When a number is specified,
|
||||||
|
apply the specified number of patches. When a patch name is
|
||||||
|
specified, apply all patches up to and including the specified patch.
|
||||||
|
Patch names may include the patches/ prefix, which means that
|
||||||
|
filename completion can be used.
|
||||||
|
|
||||||
|
quilt pop:
|
||||||
|
Remove patch(es) from the stack of applied patches. Without options,
|
||||||
|
the topmost patch is removed. When a number is specified, remove the
|
||||||
|
specified number of patches. When a patch name is specified, remove
|
||||||
|
patches until the specified patch end up on top of the stack.
|
||||||
|
Patch names may include the patches/ prefix, which means that
|
||||||
|
filename completion can be used.
|
34
debian/changelog
vendored
34
debian/changelog
vendored
@ -1,25 +1,19 @@
|
|||||||
|
postfixadmin (2.3.2) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
|
||||||
|
-- David Goodwin <david.goodwin@palepurple.co.uk> Mon, 23 Aug 2010 11:24:00 +0100
|
||||||
|
|
||||||
|
postfixadmin (2.3.1) unstable; urgency=low
|
||||||
|
|
||||||
|
* New upstream release
|
||||||
|
* Updated .deb standards (thanks normes)
|
||||||
|
|
||||||
|
-- David Goodwin <david.goodwin@palepurple.co.uk> Thu, 08 Jul 2010 22:20:14 +0100
|
||||||
|
|
||||||
postfixadmin (2.3) unstable; urgency=low
|
postfixadmin (2.3) unstable; urgency=low
|
||||||
|
|
||||||
* New 'upstream' release.
|
|
||||||
|
|
||||||
-- David Goodwin <david.goodwin@palepurple.co.uk> Mon, 27 Jul 2009 22:08:26 +0100
|
|
||||||
|
|
||||||
postfixadmin (2.3rc7) unstable; urgency=low
|
|
||||||
|
|
||||||
* Fix issue with pre.rm script
|
|
||||||
* New 'upstream' release.
|
|
||||||
|
|
||||||
-- David Goodwin <david.goodwin@palepurple.co.uk> Mon, 27 Jul 2009 22:08:26 +0100
|
|
||||||
|
|
||||||
postfixadmin (2.3rc6) unstable; urgency=low
|
|
||||||
|
|
||||||
* Bump version number; etc.
|
|
||||||
|
|
||||||
-- David Goodwin <david.goodwin@palepurple.co.uk> Mon, 20 Jul 2009 19:56:26 +0100
|
|
||||||
|
|
||||||
postfixadmin (2.3rc5) unstable; urgency=low
|
|
||||||
|
|
||||||
* Initial release (Closes: #247225)
|
* Initial release (Closes: #247225)
|
||||||
|
|
||||||
-- Norman Messtorff <normes@normes.org> Sat, 09 May 2009 22:36:26 +0200
|
-- Norman Messtorff <normes@normes.org> Sun, 21 Feb 2010 22:36:26 +0200
|
||||||
|
|
||||||
|
5
debian/control
vendored
5
debian/control
vendored
@ -3,14 +3,13 @@ Section: admin
|
|||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Norman Messtorff <normes@normes.org>
|
Maintainer: Norman Messtorff <normes@normes.org>
|
||||||
Build-Depends: debhelper (>= 7), po-debconf, quilt (>= 0.46)
|
Build-Depends: debhelper (>= 7), po-debconf, quilt (>= 0.46)
|
||||||
Standards-Version: 3.8.2
|
Standards-Version: 3.8.4
|
||||||
Homepage: http://postfixadmin.sourceforge.net
|
Homepage: http://postfixadmin.sourceforge.net
|
||||||
XS-Vcs-Svn: https://postfixadmin.svn.sourceforge.net/svnroot/postfixadmin/trunk
|
XS-Vcs-Svn: https://postfixadmin.svn.sourceforge.net/svnroot/postfixadmin/trunk
|
||||||
XS-Vcs-Browse: http://postfixadmin.svn.sourceforge.net/viewvc/postfixadmin/trunk/
|
|
||||||
|
|
||||||
Package: postfixadmin
|
Package: postfixadmin
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: debconf (>= 0.5), dbconfig-common, wwwconfig-common, apache2 | lighttpd, libapache2-mod-php5 | php5-cgi | php5, php5-imap, php5-mysql | php5-pgsql, mysql-client | postgresql-client, ${misc:Depends}
|
Depends: debconf (>= 0.5), dbconfig-common, wwwconfig-common, apache2 | lighttpd | httpd, libapache2-mod-php5 | php5-cgi | php5, php5-imap, php5-mysql | php5-pgsql, mysql-client | postgresql-client, ${misc:Depends}
|
||||||
Recommends: postfix-mysql | postfix-pgsql, mysql-server | postgresql-server
|
Recommends: postfix-mysql | postfix-pgsql, mysql-server | postgresql-server
|
||||||
Suggests: squirrelmail-postfixadmin, dovecot-common | courier-authlib-mysql | courier-authlib-postgresql
|
Suggests: squirrelmail-postfixadmin, dovecot-common | courier-authlib-mysql | courier-authlib-postgresql
|
||||||
Description: Virtual mail hosting interface for Postfix
|
Description: Virtual mail hosting interface for Postfix
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
Index: config.inc.php
|
Index: postfixadmin-trunk/config.inc.php
|
||||||
===================================================================
|
===================================================================
|
||||||
--- config.inc.php (revision 690)
|
--- postfixadmin-trunk.orig/config.inc.php 2010-02-21 19:04:32.000000000 +0100
|
||||||
+++ config.inc.php (working copy)
|
+++ postfixadmin-trunk/config.inc.php 2010-02-21 19:05:26.000000000 +0100
|
||||||
@@ -23,7 +23,7 @@
|
@@ -23,7 +23,7 @@
|
||||||
* Doing this implies you have changed this file as required.
|
* Doing this implies you have changed this file as required.
|
||||||
* i.e. configuring database etc; specifying setup.php password etc.
|
* i.e. configuring database etc; specifying setup.php password etc.
|
||||||
@ -11,7 +11,7 @@ Index: config.inc.php
|
|||||||
|
|
||||||
// In order to setup Postfixadmin, you MUST specify a hashed password here.
|
// In order to setup Postfixadmin, you MUST specify a hashed password here.
|
||||||
// To create the hash, visit setup.php in a browser and type a password into the field,
|
// To create the hash, visit setup.php in a browser and type a password into the field,
|
||||||
@@ -46,11 +46,11 @@
|
@@ -45,11 +45,12 @@
|
||||||
// mysql = MySQL 3.23 and 4.0, 4.1 or 5
|
// mysql = MySQL 3.23 and 4.0, 4.1 or 5
|
||||||
// mysqli = MySQL 4.1+
|
// mysqli = MySQL 4.1+
|
||||||
// pgsql = PostgreSQL
|
// pgsql = PostgreSQL
|
||||||
@ -20,11 +20,12 @@ Index: config.inc.php
|
|||||||
-$CONF['database_user'] = 'postfix';
|
-$CONF['database_user'] = 'postfix';
|
||||||
-$CONF['database_password'] = 'postfixadmin';
|
-$CONF['database_password'] = 'postfixadmin';
|
||||||
-$CONF['database_name'] = 'postfix';
|
-$CONF['database_name'] = 'postfix';
|
||||||
|
+
|
||||||
+$CONF['database_type'] = '_DBC_DBTYPE_';
|
+$CONF['database_type'] = '_DBC_DBTYPE_';
|
||||||
+$CONF['database_host'] = '_DBC_DBSERVER_';
|
+$CONF['database_host'] = '_DBC_DBSERVER_';
|
||||||
+$CONF['database_user'] = '_DBC_DBUSER_';
|
+$CONF['database_user'] = '_DBC_DBUSER_';
|
||||||
+$CONF['database_password'] = '_DBC_DBPASS_';
|
+$CONF['database_password'] = '_DBC_DBPASS_';
|
||||||
+$CONF['database_name'] = '_DBC_DBNAME_';
|
+$CONF['database_name'] = '_DBC_DBNAME_';
|
||||||
$CONF['database_prefix'] = '';
|
$CONF['database_prefix'] = '';
|
||||||
|
// If you need to specify a different port for a MYSQL database connection, use e.g.
|
||||||
// Here, if you need, you can customize table names.
|
// $CONF['database_host'] = '172.30.33.66:3308';
|
2
debian/patches/series
vendored
2
debian/patches/series
vendored
@ -1 +1 @@
|
|||||||
01-20090509_database-credentials -p0
|
20100221_db-credentials
|
||||||
|
3
debian/postfixadmin.docs
vendored
3
debian/postfixadmin.docs
vendored
@ -1,5 +1,2 @@
|
|||||||
DOCUMENTS
|
DOCUMENTS
|
||||||
CHANGELOG.TXT
|
CHANGELOG.TXT
|
||||||
GPL-LICENSE.TXT
|
|
||||||
INSTALL.TXT
|
|
||||||
LICENSE.TXT
|
|
||||||
|
16
debian/postfixadmin.examples
vendored
16
debian/postfixadmin.examples
vendored
@ -1,2 +1,16 @@
|
|||||||
ADDITIONS
|
|
||||||
VIRTUAL_VACATION
|
VIRTUAL_VACATION
|
||||||
|
ADDITIONS/change_password.tgz
|
||||||
|
ADDITIONS/import_users_from_csv.py
|
||||||
|
ADDITIONS/postfixadmin-domain-postdeletion.sh
|
||||||
|
ADDITIONS/cleanupdirs.pl
|
||||||
|
ADDITIONS/mailbox_remover.pl
|
||||||
|
ADDITIONS/postfixadmin-mailbox-postcreation.sh
|
||||||
|
ADDITIONS/virtualmaildel.php
|
||||||
|
ADDITIONS/convert-passwd-to-postfixadmin.pl
|
||||||
|
ADDITIONS/mkeveryone.pl
|
||||||
|
ADDITIONS/postfixadmin-mailbox-postdeletion.sh
|
||||||
|
ADDITIONS/delete-mailq-by-domain.pl
|
||||||
|
ADDITIONS/pfa_maildir_cleanup.pl
|
||||||
|
ADDITIONS/quota_usage.pl
|
||||||
|
ADDITIONS/fetchmail.pl
|
||||||
|
ADDITIONS/README.TXT
|
||||||
|
2
debian/postfixadmin.install
vendored
2
debian/postfixadmin.install
vendored
@ -4,8 +4,6 @@ css usr/share/postfixadmin
|
|||||||
images usr/share/postfixadmin
|
images usr/share/postfixadmin
|
||||||
languages usr/share/postfixadmin
|
languages usr/share/postfixadmin
|
||||||
model usr/share/postfixadmin
|
model usr/share/postfixadmin
|
||||||
motd.txt usr/share/postfixadmin
|
|
||||||
motd-users.txt usr/share/postfixadmin
|
|
||||||
templates usr/share/postfixadmin
|
templates usr/share/postfixadmin
|
||||||
users usr/share/postfixadmin
|
users usr/share/postfixadmin
|
||||||
debian/apache.conf etc/postfixadmin
|
debian/apache.conf etc/postfixadmin
|
||||||
|
2
debian/watch
vendored
2
debian/watch
vendored
@ -1,2 +0,0 @@
|
|||||||
version=3
|
|
||||||
http://sf.net/postfixadmin/postfixadmin-(.*)\.tar\.gz
|
|
@ -68,6 +68,7 @@ elseif ($fTable == "domain")
|
|||||||
$result_domain_admins = db_delete ($table_domain_admins,$fWhere,$fDelete);
|
$result_domain_admins = db_delete ($table_domain_admins,$fWhere,$fDelete);
|
||||||
$result_alias = db_delete ($table_alias,$fWhere,$fDelete);
|
$result_alias = db_delete ($table_alias,$fWhere,$fDelete);
|
||||||
$result_mailbox = db_delete ($table_mailbox,$fWhere,$fDelete);
|
$result_mailbox = db_delete ($table_mailbox,$fWhere,$fDelete);
|
||||||
|
$result_alias_domain = db_delete($table_alias_domain,'alias_domain',$fDelete);
|
||||||
$result_log = db_delete ($table_log,$fWhere,$fDelete);
|
$result_log = db_delete ($table_log,$fWhere,$fDelete);
|
||||||
if ($CONF['vacation'] == "YES")
|
if ($CONF['vacation'] == "YES")
|
||||||
{
|
{
|
||||||
@ -143,6 +144,14 @@ elseif ($fTable == "alias" or $fTable == "mailbox")
|
|||||||
$tMessage.=')</span>';
|
$tMessage.=')</span>';
|
||||||
}
|
}
|
||||||
db_log ($SESSID_USERNAME, $fDomain, 'delete_mailbox', $fDelete);
|
db_log ($SESSID_USERNAME, $fDomain, 'delete_mailbox', $fDelete);
|
||||||
|
$result = db_query("SELECT * FROM $table_quota WHERE username='$fDelete'");
|
||||||
|
if($result['rows'] >= 1) {
|
||||||
|
db_query ("DELETE FROM $table_quota WHERE username='$fDelete'");
|
||||||
|
}
|
||||||
|
$result = db_query("SELECT * FROM $table_quota2 WHERE username='$fDelete'");
|
||||||
|
if($result['rows'] == 1) {
|
||||||
|
db_query ("DELETE FROM $table_quota2 WHERE username='$fDelete'");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$result = db_query("SELECT * FROM $table_vacation WHERE email = '$fDelete' AND domain = '$fDomain'");
|
$result = db_query("SELECT * FROM $table_vacation WHERE email = '$fDelete' AND domain = '$fDomain'");
|
||||||
if($result['rows'] == 1) {
|
if($result['rows'] == 1) {
|
||||||
|
@ -63,8 +63,8 @@ if ($result['rows'] == 1)
|
|||||||
|
|
||||||
$orig_alias_list = explode(',', $tGoto);
|
$orig_alias_list = explode(',', $tGoto);
|
||||||
$alias_list = $orig_alias_list;
|
$alias_list = $orig_alias_list;
|
||||||
//. if we are not a global admin, and special_alias_control is NO, hide the alias that's the mailbox name.
|
//. if we are not a global admin, and alias_control_admin is NO, hide the alias that's the mailbox name.
|
||||||
if($CONF['special_alias_control'] == 'NO' && !authentication_has_role('global-admin')) {
|
if($CONF['alias_control_admin'] == 'NO' && !authentication_has_role('global-admin')) {
|
||||||
/* Has a mailbox as well? Remove the address from $tGoto in order to edit just the real aliases */
|
/* Has a mailbox as well? Remove the address from $tGoto in order to edit just the real aliases */
|
||||||
$result = db_query ("SELECT * FROM $table_mailbox WHERE username='$fAddress' AND domain='$fDomain'");
|
$result = db_query ("SELECT * FROM $table_mailbox WHERE username='$fAddress' AND domain='$fDomain'");
|
||||||
if ($result['rows'] == 1)
|
if ($result['rows'] == 1)
|
||||||
@ -135,7 +135,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
{
|
{
|
||||||
if($CONF['alias_control_admin'] == 'NO' && !authentication_has_role('global-admin')) {
|
if($CONF['alias_control_admin'] == 'NO' && !authentication_has_role('global-admin')) {
|
||||||
// if original record had a mailbox alias, so ensure the updated one does too.
|
// if original record had a mailbox alias, so ensure the updated one does too.
|
||||||
if(in_array($orig_alias_list, $fAddress)) {
|
if(in_array($fAddress, $orig_alias_list)) {
|
||||||
$new_aliases[] = $fAddress;
|
$new_aliases[] = $fAddress;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@
|
|||||||
* Contains re-usable code.
|
* Contains re-usable code.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
$version = '2.3';
|
$version = '2.3.2';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* check_session
|
* check_session
|
||||||
@ -81,7 +81,12 @@ function authentication_require_role($role) {
|
|||||||
if(authentication_has_role($role)) {
|
if(authentication_has_role($role)) {
|
||||||
return True;
|
return True;
|
||||||
}
|
}
|
||||||
header("Location: " . $CONF['postfix_admin_url'] . "/login.php");
|
if($role === 'user') {
|
||||||
|
header("Location: " . $CONF['postfix_admin_url'] . '/users/login.php');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
header("Location: " . $CONF['postfix_admin_url'] . "/login.php");
|
||||||
|
}
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
@ -444,7 +449,8 @@ function get_domain_properties ($domain)
|
|||||||
//while loop to figure index names. use page_size and loop of queries
|
//while loop to figure index names. use page_size and loop of queries
|
||||||
$i=0;
|
$i=0;
|
||||||
$current=0;
|
$current=0;
|
||||||
$page_size = $CONF['page_size'];
|
$page_size = (int) $CONF['page_size'];
|
||||||
|
if ($page_size < 1) die ("\$CONF['page_size'] = '$page_size' is invalid (it may only contain digits and must be >= 1)");
|
||||||
$tmpstr="";
|
$tmpstr="";
|
||||||
$idxlabel="";
|
$idxlabel="";
|
||||||
$list['alias_pgindex_count'] = 0;
|
$list['alias_pgindex_count'] = 0;
|
||||||
@ -1177,7 +1183,7 @@ function pacrypt ($pw, $pw_db="")
|
|||||||
$salt = substr(create_salt(), 0, 2); # courier-authlib supports only two-character salts
|
$salt = substr(create_salt(), 0, 2); # courier-authlib supports only two-character salts
|
||||||
if(preg_match('/^{.*}/', $pw_db)) {
|
if(preg_match('/^{.*}/', $pw_db)) {
|
||||||
// we have a flavor in the db -> use it instead of default flavor
|
// we have a flavor in the db -> use it instead of default flavor
|
||||||
$result = split('{|}', $pw_db, 3);
|
$result = preg_split('/[{}]/', $pw_db, 3); # split at { and/or }
|
||||||
$flavor = $result[1];
|
$flavor = $result[1];
|
||||||
$salt = substr($result[2], 0, 2);
|
$salt = substr($result[2], 0, 2);
|
||||||
}
|
}
|
||||||
@ -1199,6 +1205,7 @@ function pacrypt ($pw, $pw_db="")
|
|||||||
$split_method = preg_split ('/:/', $CONF['encrypt']);
|
$split_method = preg_split ('/:/', $CONF['encrypt']);
|
||||||
$method = strtoupper($split_method[1]);
|
$method = strtoupper($split_method[1]);
|
||||||
if (! preg_match("/^[A-Z0-9-]+$/", $method)) { die("invalid dovecot encryption method"); } # TODO: check against a fixed list?
|
if (! preg_match("/^[A-Z0-9-]+$/", $method)) { die("invalid dovecot encryption method"); } # TODO: check against a fixed list?
|
||||||
|
if (strtolower($method) == 'md5-crypt') die("\$CONF['encrypt'] = 'dovecot:md5-crypt' will not work because dovecotpw generates a random salt each time. Please use \$CONF['encrypt'] = 'md5crypt' instead.");
|
||||||
|
|
||||||
$dovecotpw = "dovecotpw";
|
$dovecotpw = "dovecotpw";
|
||||||
if (!empty($CONF['dovecotpw'])) $dovecotpw = $CONF['dovecotpw'];
|
if (!empty($CONF['dovecotpw'])) $dovecotpw = $CONF['dovecotpw'];
|
||||||
@ -1450,7 +1457,7 @@ function db_connect ($ignore_errors = 0)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error_text .= "<p />DEBUG INFORMATION:<br />MySQL 3.x / 4.0 functions not available!<br />database_type = 'mysql' in config.inc.php, are you using a different database? $DEBUG_TEXT";
|
$error_text .= "<p />DEBUG INFORMATION:<br />MySQL 3.x / 4.0 functions not available! (php5-mysql installed?)<br />database_type = 'mysql' in config.inc.php, are you using a different database? $DEBUG_TEXT";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ($CONF['database_type'] == "mysqli")
|
elseif ($CONF['database_type'] == "mysqli")
|
||||||
@ -1466,7 +1473,7 @@ function db_connect ($ignore_errors = 0)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error_text .= "<p />DEBUG INFORMATION:<br />MySQL 4.1 functions not available!<br />database_type = 'mysqli' in config.inc.php, are you using a different database? $DEBUG_TEXT";
|
$error_text .= "<p />DEBUG INFORMATION:<br />MySQL 4.1 functions not available! (php5-mysqli installed?)<br />database_type = 'mysqli' in config.inc.php, are you using a different database? $DEBUG_TEXT";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
elseif ($CONF['database_type'] == "pgsql")
|
elseif ($CONF['database_type'] == "pgsql")
|
||||||
@ -1482,7 +1489,7 @@ function db_connect ($ignore_errors = 0)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$error_text .= "<p />DEBUG INFORMATION:<br />PostgreSQL functions not available!<br />database_type = 'pgsql' in config.inc.php, are you using a different database? $DEBUG_TEXT";
|
$error_text .= "<p />DEBUG INFORMATION:<br />PostgreSQL functions not available! (php5-pgsql installed?)<br />database_type = 'pgsql' in config.inc.php, are you using a different database? $DEBUG_TEXT";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1571,7 +1578,7 @@ function db_query ($query, $ignore_errors = 0)
|
|||||||
if ($error_text != "" && $ignore_errors == 0) die($error_text);
|
if ($error_text != "" && $ignore_errors == 0) die($error_text);
|
||||||
|
|
||||||
if ($error_text == "") {
|
if ($error_text == "") {
|
||||||
if (preg_match("/^SELECT/i", $query))
|
if (preg_match("/^SELECT/i", trim($query)))
|
||||||
{
|
{
|
||||||
// if $query was a SELECT statement check the number of rows with [database_type]_num_rows ().
|
// if $query was a SELECT statement check the number of rows with [database_type]_num_rows ().
|
||||||
if ($CONF['database_type'] == "mysql") $number_rows = mysql_num_rows ($result);
|
if ($CONF['database_type'] == "mysql") $number_rows = mysql_num_rows ($result);
|
||||||
@ -1768,7 +1775,16 @@ function db_log ($username,$domain,$action,$data)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* db_in_clause
|
||||||
|
* Action: builds and returns the "field in(x, y)" clause for database queries
|
||||||
|
* Call: db_in_clause (string field, array values)
|
||||||
|
*/
|
||||||
|
function db_in_clause($field, $values) {
|
||||||
|
return " $field IN ('"
|
||||||
|
. implode("','",escape_string(array_values($values)))
|
||||||
|
. "') ";
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// table_by_key
|
// table_by_key
|
||||||
@ -2093,6 +2109,7 @@ function create_mailbox_subfolders($login,$cleartext_password)
|
|||||||
$f='{'.$s_host.'}'.$s_prefix.$f;
|
$f='{'.$s_host.'}'.$s_prefix.$f;
|
||||||
$res=imap_createmailbox($i,$f);
|
$res=imap_createmailbox($i,$f);
|
||||||
if (!$res) {
|
if (!$res) {
|
||||||
|
error_log('Could not create IMAP folder $f: '.imap_last_error());
|
||||||
@imap_close($i);
|
@imap_close($i);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@ -2352,8 +2369,6 @@ function boolconf($setting) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
$table_admin = table_by_key ('admin');
|
$table_admin = table_by_key ('admin');
|
||||||
$table_alias = table_by_key ('alias');
|
$table_alias = table_by_key ('alias');
|
||||||
$table_alias_domain = table_by_key ('alias_domain');
|
$table_alias_domain = table_by_key ('alias_domain');
|
||||||
|
@ -85,7 +85,7 @@ $PALANG['pOverview_get_quota'] = 'Mailbox Quota (MB)';
|
|||||||
$PALANG['pOverview_get_modified'] = 'Laatst bewerkt';
|
$PALANG['pOverview_get_modified'] = 'Laatst bewerkt';
|
||||||
|
|
||||||
$PALANG['pDelete_delete_error'] = '<span class="error_msg">Mislukt te verwijderen ';
|
$PALANG['pDelete_delete_error'] = '<span class="error_msg">Mislukt te verwijderen ';
|
||||||
$PALANG['pDelete_delete_success'] = '%s verwijdert.';
|
$PALANG['pDelete_delete_success'] = '%s verwijderd.';
|
||||||
$PALANG['pDelete_postdelete_error'] = '<span class="error_msg">Niet in staat mailbox te verwijderen ';
|
$PALANG['pDelete_postdelete_error'] = '<span class="error_msg">Niet in staat mailbox te verwijderen ';
|
||||||
$PALANG['pDelete_domain_error'] = '<span class="error_msg">Dit is niet uw domein ';
|
$PALANG['pDelete_domain_error'] = '<span class="error_msg">Dit is niet uw domein ';
|
||||||
$PALANG['pDelete_domain_alias_error'] = '<span class="error_msg">Dit is niet uw domein ';
|
$PALANG['pDelete_domain_alias_error'] = '<span class="error_msg">Dit is niet uw domein ';
|
||||||
@ -191,12 +191,12 @@ $PALANG['pViewlog_domain'] = 'Domein';
|
|||||||
$PALANG['pViewlog_action'] = 'Actie';
|
$PALANG['pViewlog_action'] = 'Actie';
|
||||||
$PALANG['pViewlog_data'] = 'Aanpassing';
|
$PALANG['pViewlog_data'] = 'Aanpassing';
|
||||||
$PALANG['pViewlog_action_create_mailbox'] = 'Mailbox toegevoegd';
|
$PALANG['pViewlog_action_create_mailbox'] = 'Mailbox toegevoegd';
|
||||||
$PALANG['pViewlog_action_delete_mailbox'] = 'Mailbox verwijdert';
|
$PALANG['pViewlog_action_delete_mailbox'] = 'Mailbox verwijderd';
|
||||||
$PALANG['pViewlog_action_edit_mailbox'] = 'Mailbox bewerkt';
|
$PALANG['pViewlog_action_edit_mailbox'] = 'Mailbox bewerkt';
|
||||||
$PALANG['pViewlog_action_edit_mailbox_state'] = 'status actieve mailbox bewerkt';
|
$PALANG['pViewlog_action_edit_mailbox_state'] = 'status actieve mailbox bewerkt';
|
||||||
$PALANG['pViewlog_action_create_alias'] = 'alias toegevoegd';
|
$PALANG['pViewlog_action_create_alias'] = 'alias toegevoegd';
|
||||||
$PALANG['pViewlog_action_create_alias_domain'] = 'maak domein alias';
|
$PALANG['pViewlog_action_create_alias_domain'] = 'maak domein alias';
|
||||||
$PALANG['pViewlog_action_delete_alias'] = 'alias verwijdert';
|
$PALANG['pViewlog_action_delete_alias'] = 'alias verwijderd';
|
||||||
$PALANG['pViewlog_action_delete_alias_domain'] = 'verwijder alias domein';
|
$PALANG['pViewlog_action_delete_alias_domain'] = 'verwijder alias domein';
|
||||||
$PALANG['pViewlog_action_edit_alias'] = 'alias bewerkt';
|
$PALANG['pViewlog_action_edit_alias'] = 'alias bewerkt';
|
||||||
$PALANG['pViewlog_action_edit_alias_state'] = 'status actieve alias bewerkt';
|
$PALANG['pViewlog_action_edit_alias_state'] = 'status actieve alias bewerkt';
|
||||||
@ -331,7 +331,7 @@ $PALANG['pUsersMenu_edit_alias'] = 'Wijzig uw forward';
|
|||||||
$PALANG['pUsersMenu_password'] = 'Wijzig wachtwoord';
|
$PALANG['pUsersMenu_password'] = 'Wijzig wachtwoord';
|
||||||
|
|
||||||
$PALANG['pUsersMain_vacation'] = 'Stel een "out of office" bericht of automatisch beantwoorden voor uw e-mail in.';
|
$PALANG['pUsersMain_vacation'] = 'Stel een "out of office" bericht of automatisch beantwoorden voor uw e-mail in.';
|
||||||
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' is actief, click \'' . $PALANG['pUsersMenu_vacation'] . '\' to ' . $PALANG['edit'] . '/verweideren';
|
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' is actief, click \'' . $PALANG['pUsersMenu_vacation'] . '\' to ' . $PALANG['edit'] . '/verwijderen';
|
||||||
$PALANG['pUsersMain_edit_alias'] = 'Wijzig uw e-mail forwarding.';
|
$PALANG['pUsersMain_edit_alias'] = 'Wijzig uw e-mail forwarding.';
|
||||||
$PALANG['pUsersMain_password'] = 'Wijzig uw huidige wachtwoord.';
|
$PALANG['pUsersMain_password'] = 'Wijzig uw huidige wachtwoord.';
|
||||||
|
|
||||||
@ -353,8 +353,8 @@ $PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX
|
|||||||
|
|
||||||
$PALANG['pCreate_dbLog_createmailbox'] = 'mailbox aangemaakt';
|
$PALANG['pCreate_dbLog_createmailbox'] = 'mailbox aangemaakt';
|
||||||
$PALANG['pCreate_dbLog_createalias'] = 'alias aangemaakt';
|
$PALANG['pCreate_dbLog_createalias'] = 'alias aangemaakt';
|
||||||
$PALANG['pDelete_dbLog_deletealias'] = 'alias verwijdert';
|
$PALANG['pDelete_dbLog_deletealias'] = 'alias verwijderd';
|
||||||
$PALANG['pDelete_dbLog_deletemailbox'] = 'mailbox verwijdert';
|
$PALANG['pDelete_dbLog_deletemailbox'] = 'mailbox verwijderd';
|
||||||
|
|
||||||
$PALANG['pEdit_dbLog_editactive'] = 'status verandert';
|
$PALANG['pEdit_dbLog_editactive'] = 'status verandert';
|
||||||
$PALANG['pEdit_dbLog_editalias'] = 'bewerk alias';
|
$PALANG['pEdit_dbLog_editalias'] = 'bewerk alias';
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
// by Jarek
|
// by Jarek
|
||||||
// updated by Piotr Meyer <aniou at smutek dot pl>
|
// updated by Piotr Meyer <aniou at smutek dot pl>
|
||||||
// updated by Lukasz Wasikowski <lukasz@wasikowski.net>
|
// updated by Lukasz Wasikowski <lukasz@wasikowski.net>
|
||||||
|
// updated by Michal Wojcik <michalw-snt @ SF>
|
||||||
//
|
//
|
||||||
|
|
||||||
$PALANG['YES'] = 'Tak';
|
$PALANG['YES'] = 'Tak';
|
||||||
@ -24,13 +25,13 @@ $PALANG['pLogin_welcome'] = 'Sekcja przeznaczona dla administratorów domen.';
|
|||||||
$PALANG['pLogin_username'] = 'Login (email)';
|
$PALANG['pLogin_username'] = 'Login (email)';
|
||||||
$PALANG['pLogin_password'] = 'Hasło';
|
$PALANG['pLogin_password'] = 'Hasło';
|
||||||
$PALANG['pLogin_button'] = 'Zaloguj';
|
$PALANG['pLogin_button'] = 'Zaloguj';
|
||||||
$PALANG['pLogin_failed'] = 'Your email address or password are not correct.'; # XXX
|
$PALANG['pLogin_failed'] = 'Twój adres Email lub hasło jest niepoprawne.';
|
||||||
$PALANG['pLogin_login_users'] = 'Sekcja przeznaczona dla użytkowników.';
|
$PALANG['pLogin_login_users'] = 'Sekcja przeznaczona dla użytkowników.';
|
||||||
|
|
||||||
$PALANG['pMenu_main'] = 'Strona główna';
|
$PALANG['pMenu_main'] = 'Strona główna';
|
||||||
$PALANG['pMenu_overview'] = 'Dane zbiorcze';
|
$PALANG['pMenu_overview'] = 'Dane zbiorcze';
|
||||||
$PALANG['pMenu_create_alias'] = 'Dodaj alias';
|
$PALANG['pMenu_create_alias'] = 'Dodaj alias';
|
||||||
$PALANG['pMenu_create_alias_domain'] = 'Add Alias Domain'; # XXX
|
$PALANG['pMenu_create_alias_domain'] = 'Dodaj alias domeny';
|
||||||
$PALANG['pMenu_create_mailbox'] = 'Dodaj konto';
|
$PALANG['pMenu_create_mailbox'] = 'Dodaj konto';
|
||||||
$PALANG['pMenu_fetchmail'] = 'Pobierz Email';
|
$PALANG['pMenu_fetchmail'] = 'Pobierz Email';
|
||||||
$PALANG['pMenu_sendmail'] = 'Wyślij Email';
|
$PALANG['pMenu_sendmail'] = 'Wyślij Email';
|
||||||
@ -53,21 +54,21 @@ $PALANG['pOverview_title'] = ':: Zdefiniowane domeny';
|
|||||||
$PALANG['pOverview_up_arrow'] = 'Do góry';
|
$PALANG['pOverview_up_arrow'] = 'Do góry';
|
||||||
$PALANG['pOverview_right_arrow'] = 'Następna strona';
|
$PALANG['pOverview_right_arrow'] = 'Następna strona';
|
||||||
$PALANG['pOverview_left_arrow'] = 'Poprzednia strona';
|
$PALANG['pOverview_left_arrow'] = 'Poprzednia strona';
|
||||||
$PALANG['pOverview_alias_domain_title'] = ':: Domain Aliases'; # XXX
|
$PALANG['pOverview_alias_domain_title'] = ':: Aliasy domen';
|
||||||
$PALANG['pOverview_alias_title'] = ':: Aliasy';
|
$PALANG['pOverview_alias_title'] = ':: Aliasy';
|
||||||
$PALANG['pOverview_mailbox_title'] = ':: Konta pocztowe'; # XXX
|
$PALANG['pOverview_mailbox_title'] = ':: Konta pocztowe';
|
||||||
$PALANG['pOverview_button'] = 'Idź';
|
$PALANG['pOverview_button'] = 'Idź';
|
||||||
$PALANG['pOverview_welcome'] = 'Dane zbiorcze dla domeny ';
|
$PALANG['pOverview_welcome'] = 'Dane zbiorcze dla domeny ';
|
||||||
$PALANG['pOverview_alias_domain_aliases'] = 'Alias Domains'; # XXX
|
$PALANG['pOverview_alias_domain_aliases'] = 'Domeny aliasowe';
|
||||||
$PALANG['pOverview_alias_domain_target'] = '%s is an Alias Domain for:'; # XXX
|
$PALANG['pOverview_alias_domain_target'] = '%s jest domeną aliasową dla:';
|
||||||
$PALANG['pOverview_alias_alias_count'] = 'Alias';
|
$PALANG['pOverview_alias_alias_count'] = 'Alias';
|
||||||
$PALANG['pOverview_alias_mailbox_count'] = 'Konta';
|
$PALANG['pOverview_alias_mailbox_count'] = 'Konta';
|
||||||
$PALANG['pOverview_alias_address'] = 'Od';
|
$PALANG['pOverview_alias_address'] = 'Od';
|
||||||
$PALANG['pOverview_alias_goto'] = 'Do';
|
$PALANG['pOverview_alias_goto'] = 'Do';
|
||||||
$PALANG['pOverview_alias_modified'] = 'Ostatnio zmodyfikowany';
|
$PALANG['pOverview_alias_modified'] = 'Ostatnio zmodyfikowany';
|
||||||
$PALANG['pOverview_alias_domain_modified'] = 'Last Modified'; # XXX
|
$PALANG['pOverview_alias_domain_modified'] = 'Ostatnio zmodyfikowane';
|
||||||
$PALANG['pOverview_alias_active'] = 'Aktywny';
|
$PALANG['pOverview_alias_active'] = 'Aktywny';
|
||||||
$PALANG['pOverview_alias_domain_active'] = 'Active'; # XXX
|
$PALANG['pOverview_alias_domain_active'] = 'Aktywny';
|
||||||
$PALANG['pOverview_alias_edit'] = 'Alias';
|
$PALANG['pOverview_alias_edit'] = 'Alias';
|
||||||
$PALANG['and_x_more'] = '[i %s wiecej...]';
|
$PALANG['and_x_more'] = '[i %s wiecej...]';
|
||||||
$PALANG['pOverview_mailbox_username'] = 'Email';
|
$PALANG['pOverview_mailbox_username'] = 'Email';
|
||||||
@ -76,11 +77,11 @@ $PALANG['pOverview_mailbox_quota'] = 'Udział (MB)';
|
|||||||
$PALANG['pOverview_mailbox_modified'] = 'Ostatnio zmodyfikowany';
|
$PALANG['pOverview_mailbox_modified'] = 'Ostatnio zmodyfikowany';
|
||||||
$PALANG['pOverview_mailbox_active'] = 'Aktywny';
|
$PALANG['pOverview_mailbox_active'] = 'Aktywny';
|
||||||
$PALANG['pOverview_vacation_edit'] = 'Auto odpowiedź';
|
$PALANG['pOverview_vacation_edit'] = 'Auto odpowiedź';
|
||||||
$PALANG['pOverview_vacation_option'] = 'Ustaw auto odpowiedź';
|
$PALANG['pOverview_vacation_option'] = 'Ustaw automatyczną odpowiedź';
|
||||||
|
|
||||||
$PALANG['pOverview_get_domain'] = 'Domena';
|
$PALANG['pOverview_get_domain'] = 'Domena';
|
||||||
$PALANG['pOverview_get_aliases'] = 'Aliasy';
|
$PALANG['pOverview_get_aliases'] = 'Aliasy';
|
||||||
$PALANG['pOverview_get_alias_domains'] = 'Domain Aliases'; # XXX
|
$PALANG['pOverview_get_alias_domains'] = 'Aliasy domenowe';
|
||||||
$PALANG['pOverview_get_mailboxes'] = 'Konta';
|
$PALANG['pOverview_get_mailboxes'] = 'Konta';
|
||||||
$PALANG['pOverview_get_quota'] = 'Udział (MB)';
|
$PALANG['pOverview_get_quota'] = 'Udział (MB)';
|
||||||
$PALANG['pOverview_get_modified'] = 'Ostatnio zmodyfikowany';
|
$PALANG['pOverview_get_modified'] = 'Ostatnio zmodyfikowany';
|
||||||
@ -89,20 +90,20 @@ $PALANG['pDelete_delete_error'] = '<span class="error_msg">Nie można usunąć t
|
|||||||
$PALANG['pDelete_delete_success'] = '%s usunięty.';
|
$PALANG['pDelete_delete_success'] = '%s usunięty.';
|
||||||
$PALANG['pDelete_postdelete_error'] = '<span class="error_msg">Nie można usunąć konta ';
|
$PALANG['pDelete_postdelete_error'] = '<span class="error_msg">Nie można usunąć konta ';
|
||||||
$PALANG['pDelete_domain_error'] = '<span class="error_msg">Ta domena nie należy do Ciebie ';
|
$PALANG['pDelete_domain_error'] = '<span class="error_msg">Ta domena nie należy do Ciebie ';
|
||||||
$PALANG['pDelete_domain_alias_error'] = '<span class="error_msg">This domain is not yours '; # XXX
|
$PALANG['pDelete_domain_alias_error'] = '<span class="error_msg">Ten alias domeny nie należy do Ciebie ';
|
||||||
$PALANG['pDelete_alias_error'] = '<span class="error_msg">Nie można usunąć aliasu ';
|
$PALANG['pDelete_alias_error'] = '<span class="error_msg">Nie można usunąć aliasu ';
|
||||||
$PALANG['pCreate_alias_domain_welcome'] = 'Mirror addresses of one of your domains to another.'; # XXX
|
$PALANG['pCreate_alias_domain_welcome'] = 'Duplikuj adresy z jednej Twojej domeny do innej.';
|
||||||
$PALANG['pCreate_alias_domain_alias'] = 'Alias Domain'; # XXX
|
$PALANG['pCreate_alias_domain_alias'] = 'Domena aliasowana/źródłowa';
|
||||||
$PALANG['pCreate_alias_domain_alias_text'] = 'The domain that mails come in for.'; # XXX
|
$PALANG['pCreate_alias_domain_alias_text'] = 'Domena do której przychodzą maile.';
|
||||||
$PALANG['pCreate_alias_domain_target'] = 'Target Domain'; # XXX
|
$PALANG['pCreate_alias_domain_target'] = 'Domena docelowa';
|
||||||
$PALANG['pCreate_alias_domain_target_text'] = 'The domain where mails should go to.'; # XXX
|
$PALANG['pCreate_alias_domain_target_text'] = 'Domena do której powinny przychodzić maile.';
|
||||||
$PALANG['pCreate_alias_domain_active'] = 'Active'; # XXX
|
$PALANG['pCreate_alias_domain_active'] = 'Aktywny';
|
||||||
$PALANG['pCreate_alias_domain_button'] = 'Add Alias Domain'; # XXX
|
$PALANG['pCreate_alias_domain_button'] = 'Dodaj alias domeny';
|
||||||
$PALANG['pCreate_alias_domain_error1'] = 'You are not allowed to create the chosen configuration.'; # XXX
|
$PALANG['pCreate_alias_domain_error1'] = 'Nie masz uprawnień do tworzenia takiej konfiguracji.';
|
||||||
$PALANG['pCreate_alias_domain_error2'] = 'The chosen configuration is invalid, please choose a different one!'; # XXX
|
$PALANG['pCreate_alias_domain_error2'] = 'Wybrana konfiguracja jest nieprawidłowa, proszę wybrać inną!';
|
||||||
$PALANG['pCreate_alias_domain_error3'] = 'Database insert failed.'; # XXX
|
$PALANG['pCreate_alias_domain_error3'] = 'Dodanie do bazy nie powiodło się.';
|
||||||
$PALANG['pCreate_alias_domain_error4'] = 'All domains are already aliased.'; # XXX
|
$PALANG['pCreate_alias_domain_error4'] = 'Wszystkie domeny są już aliasowane.';
|
||||||
$PALANG['pCreate_alias_domain_success'] = 'The domain alias has been added to the alias domain table!'; # XXX
|
$PALANG['pCreate_alias_domain_success'] = 'Alias domeny został dodany do tabeli aliasów domen!';
|
||||||
|
|
||||||
$PALANG['pCreate_alias_welcome'] = 'Utwórz nowy alias dla Twojej domeny.';
|
$PALANG['pCreate_alias_welcome'] = 'Utwórz nowy alias dla Twojej domeny.';
|
||||||
$PALANG['pCreate_alias_address'] = 'Alias';
|
$PALANG['pCreate_alias_address'] = 'Alias';
|
||||||
@ -125,7 +126,7 @@ $PALANG['pEdit_alias_active'] = 'Aktywny';
|
|||||||
$PALANG['pEdit_alias_goto_text_error1'] = '<span class="error_msg">Nie podałeś adresu odbiorcy (pole "To")</span>';
|
$PALANG['pEdit_alias_goto_text_error1'] = '<span class="error_msg">Nie podałeś adresu odbiorcy (pole "To")</span>';
|
||||||
$PALANG['pEdit_alias_goto_text_error2'] = '<span class="error_msg">Wpisany adres email jest niepoprawny: ';
|
$PALANG['pEdit_alias_goto_text_error2'] = '<span class="error_msg">Wpisany adres email jest niepoprawny: ';
|
||||||
$PALANG['pEdit_alias_domain_error'] = '<span class="error_msg">Ta domena nie należy do Ciebie: ';
|
$PALANG['pEdit_alias_domain_error'] = '<span class="error_msg">Ta domena nie należy do Ciebie: ';
|
||||||
$PALANG['pEdit_alias_domain_result_error'] = '<span class="error_msg">Unable to modify the alias domain!</span>'; # XXX
|
$PALANG['pEdit_alias_domain_result_error'] = '<span class="error_msg">Nie można zmodyfikować aliasu domeny!</span>';
|
||||||
$PALANG['pEdit_alias_forward_and_store'] = 'Dostarczaj do mojej skrzynki.';
|
$PALANG['pEdit_alias_forward_and_store'] = 'Dostarczaj do mojej skrzynki.';
|
||||||
$PALANG['pEdit_alias_forward_only'] = 'Prześlij jedynie na podane adresy.';
|
$PALANG['pEdit_alias_forward_only'] = 'Prześlij jedynie na podane adresy.';
|
||||||
$PALANG['pEdit_alias_button'] = 'Edytuj alias';
|
$PALANG['pEdit_alias_button'] = 'Edytuj alias';
|
||||||
@ -179,9 +180,9 @@ $PALANG['pPassword_button'] = 'Zmień hasło';
|
|||||||
$PALANG['pPassword_result_error'] = '<span class="error_msg">Nie można zmienić Twojego hasła!</span>';
|
$PALANG['pPassword_result_error'] = '<span class="error_msg">Nie można zmienić Twojego hasła!</span>';
|
||||||
$PALANG['pPassword_result_success'] = 'Twoje hasło zostało zmienione!';
|
$PALANG['pPassword_result_success'] = 'Twoje hasło zostało zmienione!';
|
||||||
|
|
||||||
$PALANG['pEdit_vacation_set'] = 'Zmień / Ustaw wiadomość auto odpowiedzi';
|
$PALANG['pEdit_vacation_set'] = 'Zmień / Ustaw wiadomość automatycznej odpowiedzi';
|
||||||
$PALANG['pEdit_vacation_remove'] = 'Usuń wiadomość auto odpowiedzi';
|
$PALANG['pEdit_vacation_remove'] = 'Usuń wiadomość automatycznej odpowiedzi';
|
||||||
$PALANG['pVacation_result_error'] = '<span class="error_msg">Nie można ustawić wiadomości auto odpowiedzi!</span>';
|
$PALANG['pVacation_result_error'] = '<span class="error_msg">Nie można ustawić wiadomości automatycznej odpowiedzi!</span>';
|
||||||
$PALANG['pVacation_result_removed'] = 'Auto odpowiedź została usunięta!';
|
$PALANG['pVacation_result_removed'] = 'Auto odpowiedź została usunięta!';
|
||||||
$PALANG['pVacation_result_added'] = 'Auto odpowiedź została dodana!';
|
$PALANG['pVacation_result_added'] = 'Auto odpowiedź została dodana!';
|
||||||
|
|
||||||
@ -191,17 +192,17 @@ $PALANG['pViewlog_username'] = 'Administrator';
|
|||||||
$PALANG['pViewlog_domain'] = 'Domena';
|
$PALANG['pViewlog_domain'] = 'Domena';
|
||||||
$PALANG['pViewlog_action'] = 'Działanie';
|
$PALANG['pViewlog_action'] = 'Działanie';
|
||||||
$PALANG['pViewlog_data'] = 'Dane';
|
$PALANG['pViewlog_data'] = 'Dane';
|
||||||
$PALANG['pViewlog_action_create_mailbox'] = 'utwórz konto';
|
$PALANG['pViewlog_action_create_mailbox'] = 'utworzenie konta';
|
||||||
$PALANG['pViewlog_action_delete_mailbox'] = 'usuń konto';
|
$PALANG['pViewlog_action_delete_mailbox'] = 'usunięcie konta';
|
||||||
$PALANG['pViewlog_action_edit_mailbox'] = 'edytuj konto';
|
$PALANG['pViewlog_action_edit_mailbox'] = 'edycja konta';
|
||||||
$PALANG['pViewlog_action_edit_mailbox_state'] = 'edytuj aktywne konto';
|
$PALANG['pViewlog_action_edit_mailbox_state'] = 'edycja statusu konta';
|
||||||
$PALANG['pViewlog_action_create_alias'] = 'utwórz alias';
|
$PALANG['pViewlog_action_create_alias'] = 'utworzenie aliasu';
|
||||||
$PALANG['pViewlog_action_create_alias_domain'] = 'create alias domain'; # XXX
|
$PALANG['pViewlog_action_create_alias_domain'] = 'utworzenie aliasu domeny';
|
||||||
$PALANG['pViewlog_action_delete_alias'] = 'usuń alias';
|
$PALANG['pViewlog_action_delete_alias'] = 'usunięcie aliasu';
|
||||||
$PALANG['pViewlog_action_delete_alias_domain'] = 'delete alias domain'; # XXX
|
$PALANG['pViewlog_action_delete_alias_domain'] = 'usunięcie aliasu domeny';
|
||||||
$PALANG['pViewlog_action_edit_alias'] = 'edytuj alias';
|
$PALANG['pViewlog_action_edit_alias'] = 'edycja aliasu';
|
||||||
$PALANG['pViewlog_action_edit_alias_state'] = 'edytuj aktywny alias';
|
$PALANG['pViewlog_action_edit_alias_state'] = 'edycja statusu aliasu';
|
||||||
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'edit alias domain active'; # XXX
|
$PALANG['pViewlog_action_edit_alias_domain_state'] = 'edycja statusu aliasu domeny';
|
||||||
$PALANG['pViewlog_action_edit_password'] = 'zmień hasło';
|
$PALANG['pViewlog_action_edit_password'] = 'zmień hasło';
|
||||||
|
|
||||||
$PALANG['pViewlog_button'] = 'Idź';
|
$PALANG['pViewlog_button'] = 'Idź';
|
||||||
@ -220,7 +221,7 @@ $PALANG['pSendmail_result_success'] = 'Email wysłany!';
|
|||||||
|
|
||||||
$PALANG['pAdminMenu_list_admin'] = 'Lista administratorów';
|
$PALANG['pAdminMenu_list_admin'] = 'Lista administratorów';
|
||||||
$PALANG['pAdminMenu_list_domain'] = 'Lista domen';
|
$PALANG['pAdminMenu_list_domain'] = 'Lista domen';
|
||||||
$PALANG['pAdminMenu_list_virtual'] = 'Virtual list'; # XXX
|
$PALANG['pAdminMenu_list_virtual'] = 'Lista zbiorcza';
|
||||||
$PALANG['pAdminMenu_viewlog'] = 'Logi';
|
$PALANG['pAdminMenu_viewlog'] = 'Logi';
|
||||||
$PALANG['pAdminMenu_backup'] = 'Kopia bezpieczeństwa';
|
$PALANG['pAdminMenu_backup'] = 'Kopia bezpieczeństwa';
|
||||||
$PALANG['pAdminMenu_create_domain_admins'] = 'Administratorzy domeny';
|
$PALANG['pAdminMenu_create_domain_admins'] = 'Administratorzy domeny';
|
||||||
@ -278,7 +279,7 @@ $PALANG['pAdminCreate_domain_button'] = 'Dodaj domenę';
|
|||||||
$PALANG['pAdminCreate_domain_result_error'] = '<span class="error_msg">Nie można dodać domeny!</span>';
|
$PALANG['pAdminCreate_domain_result_error'] = '<span class="error_msg">Nie można dodać domeny!</span>';
|
||||||
$PALANG['pAdminCreate_domain_result_success'] = 'Domena została dodana!';
|
$PALANG['pAdminCreate_domain_result_success'] = 'Domena została dodana!';
|
||||||
$PALANG['pAdminDelete_domain_error'] = '<span class="error_msg">Nie można usunąć domeny!</span>';
|
$PALANG['pAdminDelete_domain_error'] = '<span class="error_msg">Nie można usunąć domeny!</span>';
|
||||||
$PALANG['pAdminDelete_alias_domain_error'] = '<span class="error_msg">Unable to remove domain alias!</span>'; # XXX
|
$PALANG['pAdminDelete_alias_domain_error'] = '<span class="error_msg">Nie można usunąć aliasu domeny!</span>';
|
||||||
|
|
||||||
$PALANG['pAdminEdit_domain_welcome'] = 'Edytuj domenę';
|
$PALANG['pAdminEdit_domain_welcome'] = 'Edytuj domenę';
|
||||||
$PALANG['pAdminEdit_domain_domain'] = 'Domena';
|
$PALANG['pAdminEdit_domain_domain'] = 'Domena';
|
||||||
@ -331,18 +332,18 @@ $PALANG['pUsersMenu_vacation'] = 'Auto odpowiedź';
|
|||||||
$PALANG['pUsersMenu_edit_alias'] = 'Zmień przekierowania';
|
$PALANG['pUsersMenu_edit_alias'] = 'Zmień przekierowania';
|
||||||
$PALANG['pUsersMenu_password'] = 'Zmień hasło';
|
$PALANG['pUsersMenu_password'] = 'Zmień hasło';
|
||||||
|
|
||||||
$PALANG['pUsersMain_vacation'] = 'Ustaw "out of office" wiadomość lub auto odpowiedź.';
|
$PALANG['pUsersMain_vacation'] = 'Ustaw automatyczną odpowiedź.';
|
||||||
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' jest WŁACZONA,
|
$PALANG['pUsersMain_vacationSet'] = $PALANG['pUsersMenu_vacation'] . ' jest WŁACZONA,
|
||||||
kliknij \'' . $PALANG['pUsersMenu_vacation'] . '\' aby ' . 'edytować/usunąć';
|
kliknij \'' . $PALANG['pUsersMenu_vacation'] . '\' aby ' . 'edytować/usunąć';
|
||||||
$PALANG['pUsersMain_edit_alias'] = 'Zmień przekierowania wiadomości.';
|
$PALANG['pUsersMain_edit_alias'] = 'Zmień przekierowania wiadomości.';
|
||||||
$PALANG['pUsersMain_password'] = 'Zmień aktualne hasło.';
|
$PALANG['pUsersMain_password'] = 'Zmień aktualne hasło.';
|
||||||
|
|
||||||
|
|
||||||
$PALANG['pUsersVacation_welcome'] = 'Auto odpowiedź.';
|
$PALANG['pUsersVacation_welcome'] = 'Automatyczną odpowiedź.';
|
||||||
$PALANG['pUsersVacation_welcome_text'] = 'Masz już skonfigurowaną auto odpowiedź!';
|
$PALANG['pUsersVacation_welcome_text'] = 'Masz już skonfigurowaną automatyczną odpowiedź!';
|
||||||
$PALANG['pUsersVacation_subject'] = 'Temat';
|
$PALANG['pUsersVacation_subject'] = 'Temat';
|
||||||
$PALANG['pUsersVacation_subject_text'] = 'Poza biurem';
|
$PALANG['pUsersVacation_subject_text'] = 'Poza biurem';
|
||||||
$PALANG['pUsersVacation_body'] = 'Tekst'; # XXX text changed to 'Message'
|
$PALANG['pUsersVacation_body'] = 'Wiadomość';
|
||||||
|
|
||||||
$PALANG['pUsersVacation_body_text'] = <<<EOM
|
$PALANG['pUsersVacation_body_text'] = <<<EOM
|
||||||
Będę nieobecny od <date> do <date>.
|
Będę nieobecny od <date> do <date>.
|
||||||
@ -350,8 +351,8 @@ W pilnych sprawach proszę się kontaktować z <contact person>.
|
|||||||
EOM;
|
EOM;
|
||||||
$PALANG['pUsersVacation_button_away'] = 'Nieobecny/a';
|
$PALANG['pUsersVacation_button_away'] = 'Nieobecny/a';
|
||||||
$PALANG['pUsersVacation_button_back'] = 'Zaraz wracam';
|
$PALANG['pUsersVacation_button_back'] = 'Zaraz wracam';
|
||||||
$PALANG['pUsersVacation_result_error'] = '<span class="error_msg">Nie mogę zaktualizować ustawień Twojej auto odpowiedzi!</span>';
|
$PALANG['pUsersVacation_result_error'] = '<span class="error_msg">Nie mogę zaktualizować ustawień Twojej automatycznej odpowiedzi!</span>';
|
||||||
$PALANG['pUsersVacation_result_success'] = 'Twoja auto odpowiedź została usunięta!';
|
$PALANG['pUsersVacation_result_success'] = 'Twoja automatyczna odpowiedź została usunięta!';
|
||||||
$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX
|
$PALANG['pUsersVacation_activefrom'] = 'Active from'; # XXX
|
||||||
$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX
|
$PALANG['pUsersVacation_activeuntil'] = 'Active until'; # XXX
|
||||||
|
|
||||||
@ -379,10 +380,10 @@ $PALANG['pBroadcast_error_empty'] = 'Pola Nazwa, Temat i Wiadomość nie powinny
|
|||||||
$PALANG['pStatus_undeliverable'] = 'może być NIEDOSTARCZALNA ';
|
$PALANG['pStatus_undeliverable'] = 'może być NIEDOSTARCZALNA ';
|
||||||
$PALANG['pStatus_custom'] = 'Dostarczyć do ';
|
$PALANG['pStatus_custom'] = 'Dostarczyć do ';
|
||||||
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
|
$PALANG['pStatus_popimap'] = 'POP/IMAP ';
|
||||||
$PALANG['pPasswordTooShort'] = "Hasło jest za krótkie - musi mieć minimum %s znaków";
|
$PALANG['pPasswordTooShort'] = 'Hasło jest za krótkie - musi mieć minimum %s znaków';
|
||||||
$PALANG['pInvalidDomainRegex'] = "Invalid domain name %s, fails regexp check"; # XXX
|
$PALANG['pInvalidDomainRegex'] = 'Nieprawidłowa nazwa domeny %s';
|
||||||
$PALANG['pInvalidDomainDNS'] = "Invalid domain %s, and/or not discoverable in DNS"; # XXX
|
$PALANG['pInvalidDomainDNS'] = 'Nieprawidłowa domena %s, nie wykrywana w DNS';
|
||||||
$PALANG['pInvalidMailRegex'] = "Invalid email address, fails regexp check"; # XXX
|
$PALANG['pInvalidMailRegex'] = 'Nieprawidłowy adres email';
|
||||||
$PALANG['pFetchmail_welcome'] = 'Pobierz pocztę dla:';
|
$PALANG['pFetchmail_welcome'] = 'Pobierz pocztę dla:';
|
||||||
$PALANG['pFetchmail_new_entry'] = 'Nowy wpis';
|
$PALANG['pFetchmail_new_entry'] = 'Nowy wpis';
|
||||||
$PALANG['pFetchmail_database_save_error'] = 'Wpis nie może być zapisany w bazie danych!';
|
$PALANG['pFetchmail_database_save_error'] = 'Wpis nie może być zapisany w bazie danych!';
|
||||||
@ -403,7 +404,7 @@ $PALANG['pFetchmail_field_poll_time'] = 'Sprawdzaj';
|
|||||||
$PALANG['pFetchmail_field_fetchall'] = 'Pobierz wszystkie';
|
$PALANG['pFetchmail_field_fetchall'] = 'Pobierz wszystkie';
|
||||||
$PALANG['pFetchmail_field_keep'] = 'Pozostaw';
|
$PALANG['pFetchmail_field_keep'] = 'Pozostaw';
|
||||||
$PALANG['pFetchmail_field_protocol'] = 'Protokół';
|
$PALANG['pFetchmail_field_protocol'] = 'Protokół';
|
||||||
$PALANG['pFetchmail_field_usessl'] = 'SSL active'; # XXX
|
$PALANG['pFetchmail_field_usessl'] = 'Aktywne SSL';
|
||||||
$PALANG['pFetchmail_field_extra_options'] = 'Dodatkowe opcje';
|
$PALANG['pFetchmail_field_extra_options'] = 'Dodatkowe opcje';
|
||||||
$PALANG['pFetchmail_field_mda'] = 'MDA';
|
$PALANG['pFetchmail_field_mda'] = 'MDA';
|
||||||
$PALANG['pFetchmail_field_date'] = 'Data';
|
$PALANG['pFetchmail_field_date'] = 'Data';
|
||||||
@ -419,7 +420,7 @@ $PALANG['pFetchmail_desc_poll_time'] = 'Pobierz co ... minut';
|
|||||||
$PALANG['pFetchmail_desc_fetchall'] = 'Pobierz zarówno stare (przeczytane) jak i nowe wiadomości';
|
$PALANG['pFetchmail_desc_fetchall'] = 'Pobierz zarówno stare (przeczytane) jak i nowe wiadomości';
|
||||||
$PALANG['pFetchmail_desc_keep'] = 'Pozostaw wiadomości na serwerze';
|
$PALANG['pFetchmail_desc_keep'] = 'Pozostaw wiadomości na serwerze';
|
||||||
$PALANG['pFetchmail_desc_protocol'] = 'Protokół';
|
$PALANG['pFetchmail_desc_protocol'] = 'Protokół';
|
||||||
$PALANG['pFetchmail_desc_usessl'] = 'SSL encryption'; # XXX
|
$PALANG['pFetchmail_desc_usessl'] = 'szyfrowanie SSL';
|
||||||
$PALANG['pFetchmail_desc_extra_options'] = 'Dodatkowe opcje dla fetchmail';
|
$PALANG['pFetchmail_desc_extra_options'] = 'Dodatkowe opcje dla fetchmail';
|
||||||
$PALANG['pFetchmail_desc_mda'] = 'Mail Delivery Agent';
|
$PALANG['pFetchmail_desc_mda'] = 'Mail Delivery Agent';
|
||||||
$PALANG['pFetchmail_desc_date'] = 'Data ostatniego sprawdzenia/zmiany konfiguracji';
|
$PALANG['pFetchmail_desc_date'] = 'Data ostatniego sprawdzenia/zmiany konfiguracji';
|
||||||
|
@ -32,7 +32,7 @@ authentication_require_role('admin');
|
|||||||
if (authentication_has_role('global-admin')) {
|
if (authentication_has_role('global-admin')) {
|
||||||
$list_admins = list_admins ();
|
$list_admins = list_admins ();
|
||||||
$is_superadmin = 1;
|
$is_superadmin = 1;
|
||||||
$fUsername = safepost('fUsername', safeget('username')); # prefer POST over GET variable
|
$fUsername = escape_string(safepost('fUsername', safeget('username'))); # prefer POST over GET variable
|
||||||
if ($fUsername != "") $admin_properties = get_admin_properties($fUsername);
|
if ($fUsername != "") $admin_properties = get_admin_properties($fUsername);
|
||||||
} else {
|
} else {
|
||||||
$list_admins = array(authentication_get_username());
|
$list_admins = array(authentication_get_username());
|
||||||
@ -51,24 +51,28 @@ if (isset($admin_properties) && $admin_properties['domain_count'] == 'ALL') { #
|
|||||||
$list_domains = list_domains_for_admin(authentication_get_username());
|
$list_domains = list_domains_for_admin(authentication_get_username());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$table_domain = table_by_key('domain');
|
||||||
|
$table_mailbox = table_by_key('mailbox');
|
||||||
|
$table_alias = table_by_key('alias');
|
||||||
|
|
||||||
if ($list_all_domains == 1) {
|
if ($list_all_domains == 1) {
|
||||||
$where = " WHERE domain.domain != 'ALL' "; # TODO: the ALL dummy domain is annoying...
|
$where = " WHERE $table_domain.domain != 'ALL' "; # TODO: the ALL dummy domain is annoying...
|
||||||
} else {
|
} else {
|
||||||
$list_domains = escape_string($list_domains);
|
$list_domains = escape_string($list_domains);
|
||||||
$where = " WHERE domain.domain IN ('" . join("','", $list_domains) . "') ";
|
$where = " WHERE $table_domain.domain IN ('" . join("','", $list_domains) . "') ";
|
||||||
}
|
}
|
||||||
|
|
||||||
# fetch domain data and number of mailboxes
|
# fetch domain data and number of mailboxes
|
||||||
# (PgSQL requires the extensive GROUP BY statement, https://sourceforge.net/forum/message.php?msg_id=7386240)
|
# (PgSQL requires the extensive GROUP BY statement, https://sourceforge.net/forum/message.php?msg_id=7386240)
|
||||||
$query = "
|
$query = "
|
||||||
SELECT domain.* , COUNT( DISTINCT mailbox.username ) AS mailbox_count
|
SELECT $table_domain.* , COUNT( DISTINCT $table_mailbox.username ) AS mailbox_count
|
||||||
FROM domain
|
FROM $table_domain
|
||||||
LEFT JOIN mailbox ON domain.domain = mailbox.domain
|
LEFT JOIN $table_mailbox ON $table_domain.domain = $table_mailbox.domain
|
||||||
$where
|
$where
|
||||||
GROUP BY domain.domain, domain.description, domain.aliases, domain.mailboxes,
|
GROUP BY $table_domain.domain, $table_domain.description, $table_domain.aliases, $table_domain.mailboxes,
|
||||||
domain.maxquota, domain.quota, domain.transport, domain.backupmx, domain.created,
|
$table_domain.maxquota, $table_domain.quota, $table_domain.transport, $table_domain.backupmx, $table_domain.created,
|
||||||
domain.modified, domain.active
|
$table_domain.modified, $table_domain.active
|
||||||
ORDER BY domain.domain
|
ORDER BY $table_domain.domain
|
||||||
";
|
";
|
||||||
$result = db_query($query);
|
$result = db_query($query);
|
||||||
|
|
||||||
@ -80,12 +84,12 @@ while ($row = db_array ($result['result'])) {
|
|||||||
# fetch number of aliases
|
# fetch number of aliases
|
||||||
# doing this separate is much faster than doing it in one "big" query
|
# doing this separate is much faster than doing it in one "big" query
|
||||||
$query = "
|
$query = "
|
||||||
SELECT domain.domain, COUNT( DISTINCT alias.address ) AS alias_count
|
SELECT $table_domain.domain, COUNT( DISTINCT $table_alias.address ) AS alias_count
|
||||||
FROM domain
|
FROM $table_domain
|
||||||
LEFT JOIN alias ON domain.domain = alias.domain
|
LEFT JOIN $table_alias ON $table_domain.domain = $table_alias.domain
|
||||||
$where
|
$where
|
||||||
GROUP BY domain.domain
|
GROUP BY $table_domain.domain
|
||||||
ORDER BY domain.domain
|
ORDER BY $table_domain.domain
|
||||||
";
|
";
|
||||||
|
|
||||||
$result = db_query($query);
|
$result = db_query($query);
|
||||||
|
143
list-virtual.php
143
list-virtual.php
@ -53,11 +53,13 @@ if ($_SERVER['REQUEST_METHOD'] == "GET")
|
|||||||
{
|
{
|
||||||
if (isset ($_GET['domain'])) $fDomain = escape_string ($_GET['domain']);
|
if (isset ($_GET['domain'])) $fDomain = escape_string ($_GET['domain']);
|
||||||
if (isset ($_GET['limit'])) $fDisplay = intval ($_GET['limit']);
|
if (isset ($_GET['limit'])) $fDisplay = intval ($_GET['limit']);
|
||||||
|
$search = escape_string(safeget('search'));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (isset ($_POST['fDomain'])) $fDomain = escape_string ($_POST['fDomain']);
|
if (isset ($_POST['fDomain'])) $fDomain = escape_string ($_POST['fDomain']);
|
||||||
if (isset ($_POST['limit'])) $fDisplay = intval ($_POST['limit']);
|
if (isset ($_POST['limit'])) $fDisplay = intval ($_POST['limit']);
|
||||||
|
$search = escape_string(safepost('search'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count($list_domains) == 0) {
|
if (count($list_domains) == 0) {
|
||||||
@ -91,6 +93,11 @@ if($fDomain) {
|
|||||||
$_SESSION['list_virtual_sticky_domain'] = $fDomain;
|
$_SESSION['list_virtual_sticky_domain'] = $fDomain;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# alias domain
|
||||||
|
#
|
||||||
|
|
||||||
|
# TODO: add search support for alias domains
|
||||||
if (boolconf('alias_domain')) {
|
if (boolconf('alias_domain')) {
|
||||||
# Alias-Domains
|
# Alias-Domains
|
||||||
# first try to get a list of other domains pointing
|
# first try to get a list of other domains pointing
|
||||||
@ -136,23 +143,36 @@ if (boolconf('alias_domain')) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#
|
||||||
|
# aliases
|
||||||
|
#
|
||||||
|
|
||||||
|
if ($search == "") {
|
||||||
|
$sql_domain = " $table_alias.domain='$fDomain' ";
|
||||||
|
$sql_where = "";
|
||||||
|
} else {
|
||||||
|
$sql_domain = db_in_clause("$table_alias.domain", $list_domains);
|
||||||
|
$sql_where = " AND ( address LIKE '%$search%' OR goto LIKE '%$search%' ) ";
|
||||||
|
}
|
||||||
$query = "SELECT $table_alias.address,
|
$query = "SELECT $table_alias.address,
|
||||||
$table_alias.goto,
|
$table_alias.goto,
|
||||||
$table_alias.modified,
|
$table_alias.modified,
|
||||||
$table_alias.active
|
$table_alias.active
|
||||||
FROM $table_alias LEFT JOIN $table_mailbox ON $table_alias.address=$table_mailbox.username
|
FROM $table_alias LEFT JOIN $table_mailbox ON $table_alias.address=$table_mailbox.username
|
||||||
WHERE ($table_alias.domain='$fDomain' AND $table_mailbox.maildir IS NULL)
|
WHERE ($sql_domain AND $table_mailbox.maildir IS NULL $sql_where)
|
||||||
ORDER BY $table_alias.address LIMIT $fDisplay, $page_size";
|
ORDER BY $table_alias.address LIMIT $fDisplay, $page_size";
|
||||||
if ('pgsql'==$CONF['database_type'])
|
if ('pgsql'==$CONF['database_type'])
|
||||||
{
|
{
|
||||||
|
# TODO: is the different query for pgsql really needed? The mailbox query below also works with both...
|
||||||
$query = "SELECT address,
|
$query = "SELECT address,
|
||||||
goto,
|
goto,
|
||||||
extract(epoch from modified) as modified,
|
modified,
|
||||||
active
|
active
|
||||||
FROM $table_alias
|
FROM $table_alias
|
||||||
WHERE domain='$fDomain' AND NOT EXISTS(SELECT 1 FROM $table_mailbox WHERE username=$table_alias.address)
|
WHERE $sql_domain AND NOT EXISTS(SELECT 1 FROM $table_mailbox WHERE username=$table_alias.address $sql_where)
|
||||||
ORDER BY address LIMIT $page_size OFFSET $fDisplay";
|
ORDER BY address LIMIT $page_size OFFSET $fDisplay";
|
||||||
}
|
}
|
||||||
|
|
||||||
$result = db_query ($query);
|
$result = db_query ($query);
|
||||||
if ($result['rows'] > 0)
|
if ($result['rows'] > 0)
|
||||||
{
|
{
|
||||||
@ -170,66 +190,76 @@ if ($result['rows'] > 0)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# TODO: reduce number of different queries by not depending on too much config options
|
|
||||||
# (it probably won't hurt to include a field in the resultset that is not displayed later)
|
#
|
||||||
if ($CONF['vacation_control_admin'] == 'YES')
|
# mailboxes
|
||||||
{
|
#
|
||||||
if (boolconf('used_quotas'))
|
|
||||||
{
|
$display_mailbox_aliases = boolconf('alias_control_admin');
|
||||||
if (boolconf('new_quota_table'))
|
|
||||||
{
|
# build the sql query
|
||||||
$query = "SELECT $table_mailbox.*, $table_vacation.active AS v_active, $table_quota2.bytes as current FROM $table_mailbox
|
$sql_select = " SELECT $table_mailbox.* ";
|
||||||
LEFT JOIN $table_vacation ON $table_mailbox.username=$table_vacation.email
|
$sql_from = " FROM $table_mailbox ";
|
||||||
LEFT JOIN $table_quota2 ON $table_mailbox.username=$table_quota2.username
|
$sql_join = "";
|
||||||
WHERE $table_mailbox.domain='$fDomain'
|
$sql_where = " WHERE ";
|
||||||
ORDER BY $table_mailbox.username LIMIT $page_size OFFSET $fDisplay";
|
$sql_order = " ORDER BY $table_mailbox.username ";
|
||||||
}
|
$sql_limit = " LIMIT $page_size OFFSET $fDisplay";
|
||||||
else
|
|
||||||
{
|
if ($search == "") {
|
||||||
$query = "SELECT $table_mailbox.*, $table_vacation.active AS v_active, $table_quota.current FROM $table_mailbox
|
$sql_where .= " $table_mailbox.domain='$fDomain' ";
|
||||||
LEFT JOIN $table_vacation ON $table_mailbox.username=$table_vacation.email
|
} else {
|
||||||
LEFT JOIN $table_quota ON $table_mailbox.username=$table_quota.username
|
$sql_where .= db_in_clause("$table_mailbox.domain", $list_domains) . " ";
|
||||||
WHERE $table_mailbox.domain='$fDomain' AND
|
$sql_where .= " AND ( $table_mailbox.username LIKE '%$search%' OR $table_mailbox.name LIKE '%$search%' ";
|
||||||
( $table_quota.path='quota/storage' OR $table_quota.path IS NULL )
|
if ($display_mailbox_aliases) {
|
||||||
ORDER BY $table_mailbox.username LIMIT $page_size OFFSET $fDisplay";
|
$sql_where .= " OR $table_alias.goto LIKE '%$search%' ";
|
||||||
}
|
}
|
||||||
}
|
$sql_where .= " ) "; # $search is already escaped
|
||||||
else # $CONF[used_quotas] = NO
|
|
||||||
{
|
|
||||||
$query = "SELECT $table_mailbox.*, $table_vacation.active AS v_active FROM $table_mailbox
|
|
||||||
LEFT JOIN $table_vacation ON $table_mailbox.username=$table_vacation.email
|
|
||||||
WHERE $table_mailbox.domain='$fDomain' ORDER BY $table_mailbox.username LIMIT $page_size OFFSET $fDisplay";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else # $CONF['vacation_control_admin'] == 'NO'
|
|
||||||
{
|
if ($display_mailbox_aliases) {
|
||||||
if (boolconf('used_quotas'))
|
$sql_select .= ", $table_alias.goto ";
|
||||||
{
|
$sql_join .= " LEFT JOIN $table_alias ON $table_mailbox.username=$table_alias.address ";
|
||||||
if (boolconf('new_quota_table'))
|
|
||||||
{
|
|
||||||
$query = "SELECT $table_mailbox.*, $table_quota2.bytes as current FROM $table_mailbox
|
|
||||||
LEFT JOIN $table_quota2 ON $table_mailbox.username=$table_quota2.username
|
|
||||||
WHERE $table_mailbox.domain='$fDomain' ORDER BY $table_mailbox.username LIMIT $page_size OFFSET $fDisplay";
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$query = "SELECT $table_mailbox.*, $table_quota.current FROM $table_mailbox
|
|
||||||
LEFT JOIN $table_quota ON $table_mailbox.username=$table_quota.username
|
|
||||||
WHERE $table_mailbox.domain='$fDomain' AND
|
|
||||||
( $table_quota.path='quota/storage' OR $table_quota.path IS NULL )
|
|
||||||
ORDER BY $table_mailbox.username LIMIT $page_size OFFSET $fDisplay";
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else # $CONF[used_quotas] = NO
|
|
||||||
{
|
|
||||||
$query = "SELECT * FROM $table_mailbox WHERE domain='$fDomain' ORDER BY username LIMIT $page_size OFFSET $fDisplay";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (boolconf('vacation_control_admin')) {
|
||||||
|
$sql_select .= ", $table_vacation.active AS v_active ";
|
||||||
|
$sql_join .= " LEFT JOIN $table_vacation ON $table_mailbox.username=$table_vacation.email ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (boolconf('used_quotas') && boolconf('new_quota_table')) {
|
||||||
|
$sql_select .= ", $table_quota2.bytes as current ";
|
||||||
|
$sql_join .= " LEFT JOIN $table_quota2 ON $table_mailbox.username=$table_quota2.username ";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (boolconf('used_quotas') && ( ! boolconf('new_quota_table') ) ) {
|
||||||
|
$sql_select .= ", $table_quota.current ";
|
||||||
|
$sql_join .= " LEFT JOIN $table_quota ON $table_mailbox.username=$table_quota.username ";
|
||||||
|
$sql_where .= " AND ( $table_quota.path='quota/storage' OR $table_quota.path IS NULL ) ";
|
||||||
|
}
|
||||||
|
|
||||||
|
$query = "$sql_select\n$sql_from\n$sql_join\n$sql_where\n$sql_order\n$sql_limit";
|
||||||
|
|
||||||
$result = db_query ($query);
|
$result = db_query ($query);
|
||||||
|
|
||||||
if ($result['rows'] > 0)
|
if ($result['rows'] > 0)
|
||||||
{
|
{
|
||||||
while ($row = db_array ($result['result']))
|
while ($row = db_array ($result['result']))
|
||||||
{
|
{
|
||||||
|
if ($display_mailbox_aliases) {
|
||||||
|
$goto_split = explode(",", $row['goto']);
|
||||||
|
$row['goto_mailbox'] = 0;
|
||||||
|
$row['goto_other'] = array();
|
||||||
|
|
||||||
|
foreach ($goto_split as $goto_single) {
|
||||||
|
if ($goto_single == $row['username']) { # delivers to mailbox
|
||||||
|
$row['goto_mailbox'] = 1;
|
||||||
|
} elseif (boolconf('vacation') && strstr($goto_single, '@' . $CONF['vacation_domain']) ) { # vacation alias - TODO: check for full vacation alias
|
||||||
|
# skip the vacation alias, vacation status is detected otherwise
|
||||||
|
} else { # forwarding to other alias
|
||||||
|
$row['goto_other'][] = $goto_single;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
if ('pgsql'==$CONF['database_type'])
|
if ('pgsql'==$CONF['database_type'])
|
||||||
{
|
{
|
||||||
// XXX
|
// XXX
|
||||||
@ -248,6 +278,7 @@ if ($result['rows'] > 0)
|
|||||||
$tCanAddAlias = false;
|
$tCanAddAlias = false;
|
||||||
$tCanAddMailbox = false;
|
$tCanAddMailbox = false;
|
||||||
|
|
||||||
|
# TODO: needs reworking for $search...
|
||||||
$limit = get_domain_properties($fDomain);
|
$limit = get_domain_properties($fDomain);
|
||||||
if (isset ($limit)) {
|
if (isset ($limit)) {
|
||||||
if ($fDisplay >= $page_size) {
|
if ($fDisplay >= $page_size) {
|
||||||
|
@ -19,7 +19,6 @@
|
|||||||
* Template Variables:
|
* Template Variables:
|
||||||
*
|
*
|
||||||
* tMessage
|
* tMessage
|
||||||
* tUsername
|
|
||||||
*
|
*
|
||||||
* Form POST \ GET Variables:
|
* Form POST \ GET Variables:
|
||||||
*
|
*
|
||||||
@ -65,7 +64,6 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
{
|
{
|
||||||
$error = 1;
|
$error = 1;
|
||||||
$tMessage = '<span class="error_msg">' . $PALANG['pLogin_failed'] . '</span>';
|
$tMessage = '<span class="error_msg">' . $PALANG['pLogin_failed'] . '</span>';
|
||||||
$tUsername = htmlentities($fUsername, ENT_QUOTES, 'UTF-8');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -336,7 +336,7 @@ else
|
|||||||
$table_domain = table_by_key('domain');
|
$table_domain = table_by_key('domain');
|
||||||
$r = db_query("SELECT * FROM $table_domain WHERE domain = 'ALL'");
|
$r = db_query("SELECT * FROM $table_domain WHERE domain = 'ALL'");
|
||||||
if($r['rows'] == 0) {
|
if($r['rows'] == 0) {
|
||||||
db_insert($table_domain, array('domain' => 'ALL')); // all other fields should default through the schema.
|
db_insert('domain', array('domain' => 'ALL')); // all other fields should default through the schema.
|
||||||
}
|
}
|
||||||
|
|
||||||
list ($error, $tMessage, $pAdminCreate_admin_username_text, $pAdminCreate_admin_password_text) = create_admin($fUsername, $fPassword, $fPassword2, array('ALL'), TRUE);
|
list ($error, $tMessage, $pAdminCreate_admin_username_text, $pAdminCreate_admin_password_text) = create_admin($fUsername, $fPassword, $fPassword2, array('ALL'), TRUE);
|
||||||
|
@ -62,7 +62,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php print $PALANG['pAdminCreate_domain_backupmx'] . ":"; ?></td>
|
<td><?php print $PALANG['pAdminCreate_domain_backupmx'] . ":"; ?></td>
|
||||||
<td><?php $checked = ($tBackupmx == 'on') ? 'checked' : ''; ?>
|
<td><?php $checked = ($tBackupmx == 'on') ? 'checked="checked"' : ''; ?>
|
||||||
<input class="flat" type="checkbox" value='on' name="fBackupmx" <?php print $checked; ?> />
|
<input class="flat" type="checkbox" value='on' name="fBackupmx" <?php print $checked; ?> />
|
||||||
</td>
|
</td>
|
||||||
<td> </td>
|
<td> </td>
|
||||||
|
@ -6,6 +6,17 @@
|
|||||||
|
|
||||||
$file = 'list-virtual.php';
|
$file = 'list-virtual.php';
|
||||||
|
|
||||||
|
# search highlighting
|
||||||
|
function searchhl($text) {
|
||||||
|
global $search;
|
||||||
|
if ($search == "") {
|
||||||
|
return $text;
|
||||||
|
} else {
|
||||||
|
return str_ireplace($search, "<span class='searchresult' style='background:lightgreen'>" . $search . "</span>", $text);
|
||||||
|
# TODO: find out why .searchresult class in css file doesn't work
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($limit['aliases'] < 0) $limit['aliases'] = $PALANG['pOverview_disabled'];
|
if ($limit['aliases'] < 0) $limit['aliases'] = $PALANG['pOverview_disabled'];
|
||||||
if ($limit['mailboxes'] < 0) $limit['mailboxes'] = $PALANG['pOverview_disabled'];
|
if ($limit['mailboxes'] < 0) $limit['mailboxes'] = $PALANG['pOverview_disabled'];
|
||||||
if ($limit['maxquota'] < 0) $limit['maxquota'] = $PALANG['pOverview_disabled'];
|
if ($limit['maxquota'] < 0) $limit['maxquota'] = $PALANG['pOverview_disabled'];
|
||||||
@ -94,6 +105,9 @@ if ((sizeof ($tAliasDomains) > 0) || (is_array ($tTargetDomain) ))
|
|||||||
print " <td><a href=\"$file?domain=" . urlencode ($tAliasDomains[$i]['alias_domain']) . "&limit=" . $current_limit . "\">" . $tAliasDomains[$i]['alias_domain'] . "</a></td>\n";
|
print " <td><a href=\"$file?domain=" . urlencode ($tAliasDomains[$i]['alias_domain']) . "&limit=" . $current_limit . "\">" . $tAliasDomains[$i]['alias_domain'] . "</a></td>\n";
|
||||||
print " <td>" . $tAliasDomains[$i]['modified'] . "</td>\n";
|
print " <td>" . $tAliasDomains[$i]['modified'] . "</td>\n";
|
||||||
$active = ($tAliasDomains[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
$active = ($tAliasDomains[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
||||||
|
|
||||||
|
# TODO: change all edit-*.php scripts not to require the domain parameter (and extract it from the address). This avoids superflous problems when using search.
|
||||||
|
|
||||||
print " <td><a href=\"edit-active.php?alias_domain=true&domain=" . urlencode ($tAliasDomains[$i]['alias_domain']) . "&return=$file" . urlencode ( "?domain=" . $fDomain . "&limit=" . $current_limit) . "\">" . $active . "</a></td>\n";
|
print " <td><a href=\"edit-active.php?alias_domain=true&domain=" . urlencode ($tAliasDomains[$i]['alias_domain']) . "&return=$file" . urlencode ( "?domain=" . $fDomain . "&limit=" . $current_limit) . "\">" . $active . "</a></td>\n";
|
||||||
print " <td><a href=\"delete.php?table=alias_domain&delete=" . urlencode ($tAliasDomains[$i]['alias_domain']) . "&domain="
|
print " <td><a href=\"delete.php?table=alias_domain&delete=" . urlencode ($tAliasDomains[$i]['alias_domain']) . "&domain="
|
||||||
. urlencode ($tAliasDomains[$i]['alias_domain'])
|
. urlencode ($tAliasDomains[$i]['alias_domain'])
|
||||||
@ -153,10 +167,9 @@ if (sizeof ($tAlias) > 0)
|
|||||||
{
|
{
|
||||||
print " <td>" . gen_show_status($tAlias[$i]['address']) . "</td>\n";
|
print " <td>" . gen_show_status($tAlias[$i]['address']) . "</td>\n";
|
||||||
}
|
}
|
||||||
|
print " <td>" . searchhl($tAlias[$i]['address']) . "</td>\n";
|
||||||
print " <td>" . $tAlias[$i]['address'] . "</td>\n";
|
|
||||||
if ($CONF['alias_goto_limit'] > 0) {
|
if ($CONF['alias_goto_limit'] > 0) {
|
||||||
print " <td>" . preg_replace (
|
print " <td>" . searchhl(preg_replace (
|
||||||
"/,/",
|
"/,/",
|
||||||
"<br>",
|
"<br>",
|
||||||
preg_replace(
|
preg_replace(
|
||||||
@ -167,9 +180,9 @@ if (sizeof ($tAlias) > 0)
|
|||||||
),
|
),
|
||||||
$tAlias[$i]['goto']
|
$tAlias[$i]['goto']
|
||||||
)
|
)
|
||||||
) . "</td>\n";
|
)) . "</td>\n";
|
||||||
} else {
|
} else {
|
||||||
print " <td>" . preg_replace ("/,/", "<br>", $tAlias[$i]['goto']) . "</td>\n";
|
print " <td>" . searchhl(preg_replace ("/,/", "<br>", $tAlias[$i]['goto'])) . "</td>\n";
|
||||||
}
|
}
|
||||||
print " <td>" . $tAlias[$i]['modified'] . "</td>\n";
|
print " <td>" . $tAlias[$i]['modified'] . "</td>\n";
|
||||||
|
|
||||||
@ -179,7 +192,7 @@ if (sizeof ($tAlias) > 0)
|
|||||||
# superadmin code
|
# superadmin code
|
||||||
$active = ($tAlias[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
$active = ($tAlias[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
||||||
print " <td><a href=\"edit-active.php?alias=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain&return=$file?domain=$fDomain" . urlencode ("&limit=" . $current_limit) . "\">" . $active . "</a></td>\n";
|
print " <td><a href=\"edit-active.php?alias=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain&return=$file?domain=$fDomain" . urlencode ("&limit=" . $current_limit) . "\">" . $active . "</a></td>\n";
|
||||||
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\">" . $PALANG['edit'] . "</a></td>\n";
|
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tAlias[$i]['address']) . "\">" . $PALANG['edit'] . "</a></td>\n";
|
||||||
print " <td><a href=\"delete.php?table=alias" . "&delete=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\"onclick=\"return confirm ('" . $PALANG['confirm'] . $PALANG['pOverview_get_aliases'] . ": ". $tAlias[$i]['address'] . "')\">" . $PALANG['del'] . "</a></td>\n";
|
print " <td><a href=\"delete.php?table=alias" . "&delete=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\"onclick=\"return confirm ('" . $PALANG['confirm'] . $PALANG['pOverview_get_aliases'] . ": ". $tAlias[$i]['address'] . "')\">" . $PALANG['del'] . "</a></td>\n";
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
@ -188,7 +201,7 @@ if (sizeof ($tAlias) > 0)
|
|||||||
{
|
{
|
||||||
$active = ($tAlias[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
$active = ($tAlias[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
||||||
print " <td><a href=\"edit-active.php?alias=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\">" . $active . "</a></td>\n";
|
print " <td><a href=\"edit-active.php?alias=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\">" . $active . "</a></td>\n";
|
||||||
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\">" . $PALANG['edit'] . "</a></td>\n";
|
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tAlias[$i]['address']) . "\">" . $PALANG['edit'] . "</a></td>\n";
|
||||||
print " <td><a href=\"delete.php?table=alias&delete=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\"onclick=\"return confirm ('" . $PALANG['confirm'] . $PALANG['pOverview_get_aliases'] . ": ". $tAlias[$i]['address'] . "')\">" . $PALANG['del'] . "</a></td>\n";
|
print " <td><a href=\"delete.php?table=alias&delete=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\"onclick=\"return confirm ('" . $PALANG['confirm'] . $PALANG['pOverview_get_aliases'] . ": ". $tAlias[$i]['address'] . "')\">" . $PALANG['del'] . "</a></td>\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -197,7 +210,7 @@ if (sizeof ($tAlias) > 0)
|
|||||||
{
|
{
|
||||||
$active = ($tAlias[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
$active = ($tAlias[$i]['active'] == 1) ? $PALANG['YES'] : $PALANG['NO'];
|
||||||
print " <td><a href=\"edit-active.php?alias=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\">" . $active . "</a></td>\n";
|
print " <td><a href=\"edit-active.php?alias=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\">" . $active . "</a></td>\n";
|
||||||
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\">" . $PALANG['edit'] . "</a></td>\n";
|
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tAlias[$i]['address']) . "\">" . $PALANG['edit'] . "</a></td>\n";
|
||||||
print " <td><a href=\"delete.php?table=alias&delete=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\"onclick=\"return confirm ('" . $PALANG['confirm'] . $PALANG['pOverview_get_aliases'] . ": ". $tAlias[$i]['address'] . "')\">" . $PALANG['del'] . "</a></td>\n";
|
print " <td><a href=\"delete.php?table=alias&delete=" . urlencode ($tAlias[$i]['address']) . "&domain=$fDomain" . "\"onclick=\"return confirm ('" . $PALANG['confirm'] . $PALANG['pOverview_get_aliases'] . ": ". $tAlias[$i]['address'] . "')\">" . $PALANG['del'] . "</a></td>\n";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -256,6 +269,8 @@ if (sizeof ($tMailbox) > 0) {
|
|||||||
$colspan=8;
|
$colspan=8;
|
||||||
if ($CONF['vacation_control_admin'] == 'YES') $colspan=$colspan+1;
|
if ($CONF['vacation_control_admin'] == 'YES') $colspan=$colspan+1;
|
||||||
if ($CONF['alias_control_admin'] == 'YES') $colspan=$colspan+1;
|
if ($CONF['alias_control_admin'] == 'YES') $colspan=$colspan+1;
|
||||||
|
if ($display_mailbox_aliases) $colspan=$colspan+1;
|
||||||
|
|
||||||
print "<table id=\"mailbox_table\">\n";
|
print "<table id=\"mailbox_table\">\n";
|
||||||
print " <tr>\n";
|
print " <tr>\n";
|
||||||
print " <td colspan=\"$colspan\"><h3>" . $PALANG['pOverview_mailbox_title'] . "</h3></td>";
|
print " <td colspan=\"$colspan\"><h3>" . $PALANG['pOverview_mailbox_title'] . "</h3></td>";
|
||||||
@ -263,6 +278,7 @@ if (sizeof ($tMailbox) > 0) {
|
|||||||
print " <tr class=\"header\">\n";
|
print " <tr class=\"header\">\n";
|
||||||
if ($CONF['show_status'] == 'YES') { print "<td></td>\n"; }
|
if ($CONF['show_status'] == 'YES') { print "<td></td>\n"; }
|
||||||
print " <td>" . $PALANG['pOverview_mailbox_username'] . "</td>\n";
|
print " <td>" . $PALANG['pOverview_mailbox_username'] . "</td>\n";
|
||||||
|
if ($display_mailbox_aliases) print " <td>" . $PALANG['pOverview_alias_goto'] . "</td>\n";
|
||||||
print " <td>" . $PALANG['pOverview_mailbox_name'] . "</td>\n";
|
print " <td>" . $PALANG['pOverview_mailbox_name'] . "</td>\n";
|
||||||
if ($CONF['quota'] == 'YES') print " <td>" . $PALANG['pOverview_mailbox_quota'] . "</td>\n";
|
if ($CONF['quota'] == 'YES') print " <td>" . $PALANG['pOverview_mailbox_quota'] . "</td>\n";
|
||||||
print " <td>" . $PALANG['pOverview_mailbox_modified'] . "</td>\n";
|
print " <td>" . $PALANG['pOverview_mailbox_modified'] . "</td>\n";
|
||||||
@ -282,7 +298,22 @@ if (sizeof ($tMailbox) > 0) {
|
|||||||
print " <td>" . gen_show_status($tMailbox[$i]['username']) . "</td>\n";
|
print " <td>" . gen_show_status($tMailbox[$i]['username']) . "</td>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print " <td>" . $tMailbox[$i]['username'] . "</td>\n";
|
print " <td>" . searchhl($tMailbox[$i]['username']) . "</td>\n";
|
||||||
|
|
||||||
|
if ($display_mailbox_aliases) {
|
||||||
|
# print " <td>" . searchhl($tMailbox[$i]['goto']) . "</td>\n";
|
||||||
|
print " <td>";
|
||||||
|
if ($tMailbox[$i]['goto_mailbox'] == 1) {
|
||||||
|
print "Mailbox"; # TODO: make translatable
|
||||||
|
} else {
|
||||||
|
print "Forward only"; # TODO: make translatable
|
||||||
|
}
|
||||||
|
if (count($tMailbox[$i]['goto_other']) > 0) print "<br>";
|
||||||
|
print searchhl(join("<br>", $tMailbox[$i]['goto_other'])); # TODO: honor $CONF['alias_goto_limit']
|
||||||
|
print "</td>\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
print " <td>" . $tMailbox[$i]['name'] . "</td>\n";
|
print " <td>" . $tMailbox[$i]['name'] . "</td>\n";
|
||||||
if ($CONF['quota'] == 'YES')
|
if ($CONF['quota'] == 'YES')
|
||||||
{
|
{
|
||||||
@ -331,7 +362,7 @@ if (sizeof ($tMailbox) > 0) {
|
|||||||
|
|
||||||
if ($edit_aliases == 1)
|
if ($edit_aliases == 1)
|
||||||
{
|
{
|
||||||
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tMailbox[$i]['username']) . "&domain=$fDomain" . "\">" . $PALANG['pOverview_alias_edit'] . "</a></td>\n";
|
print " <td><a href=\"edit-alias.php?address=" . urlencode ($tMailbox[$i]['username']) . "\">" . $PALANG['pOverview_alias_edit'] . "</a></td>\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
print " <td><a href=\"edit-mailbox.php?username=" . urlencode ($tMailbox[$i]['username']) . "&domain=$fDomain" . "\">" . $PALANG['edit'] . "</a></td>\n";
|
print " <td><a href=\"edit-mailbox.php?username=" . urlencode ($tMailbox[$i]['username']) . "&domain=$fDomain" . "\">" . $PALANG['edit'] . "</a></td>\n";
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php print $PALANG['pLogin_username'] . ":"; ?></td>
|
<td><?php print $PALANG['pLogin_username'] . ":"; ?></td>
|
||||||
<td><input class="flat" type="text" name="fUsername" value="<?php print $tUsername; ?>" /></td>
|
<td><input class="flat" type="text" name="fUsername" value="" /></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><?php print $PALANG['pLogin_password'] . ":"; ?></td>
|
<td><?php print $PALANG['pLogin_password'] . ":"; ?></td>
|
||||||
|
@ -217,7 +217,7 @@ function db_query_parsed($sql, $ignore_errors = 0, $attach_mysql = "") {
|
|||||||
|
|
||||||
function _drop_index ($table, $index) {
|
function _drop_index ($table, $index) {
|
||||||
global $CONF;
|
global $CONF;
|
||||||
$tabe = table_by_key ($table);
|
$table = table_by_key ($table);
|
||||||
|
|
||||||
if ($CONF['database_type'] == 'mysql' || $CONF['database_type'] == 'mysqli' ) {
|
if ($CONF['database_type'] == 'mysql' || $CONF['database_type'] == 'mysqli' ) {
|
||||||
return "ALTER TABLE $table DROP INDEX $index";
|
return "ALTER TABLE $table DROP INDEX $index";
|
||||||
@ -231,7 +231,7 @@ function _drop_index ($table, $index) {
|
|||||||
|
|
||||||
function _add_index($table, $indexname, $fieldlist) {
|
function _add_index($table, $indexname, $fieldlist) {
|
||||||
global $CONF;
|
global $CONF;
|
||||||
$tabe = table_by_key ($table);
|
$table = table_by_key ($table);
|
||||||
|
|
||||||
if ($CONF['database_type'] == 'mysql' || $CONF['database_type'] == 'mysqli' ) {
|
if ($CONF['database_type'] == 'mysql' || $CONF['database_type'] == 'mysqli' ) {
|
||||||
return "ALTER TABLE $table ADD INDEX `$indexname` ( `$fieldlist` )";
|
return "ALTER TABLE $table ADD INDEX `$indexname` ( `$fieldlist` )";
|
||||||
|
@ -75,14 +75,17 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
|
|
||||||
$goto = explode(",",$goto);
|
$goto = explode(",",$goto);
|
||||||
|
|
||||||
|
$error = 0;
|
||||||
$goto = array_merge(array_unique($goto));
|
$goto = array_merge(array_unique($goto));
|
||||||
$good_goto = array();
|
$good_goto = array();
|
||||||
|
|
||||||
if($fForward_and_store == 'NO' && sizeof($goto) == 1 && $goto[0] == '') {
|
if($fForward_and_store == 'NO' && sizeof($goto) == 1 && $goto[0] == '') {
|
||||||
$tMessage = $PALANG['pEdit_alias_goto_text_error1'];
|
$tMessage = $PALANG['pEdit_alias_goto_text_error1'];
|
||||||
$error += 1;
|
$error += 1;
|
||||||
}
|
}
|
||||||
if($error === 0) {
|
if($error === 0) {
|
||||||
foreach($goto as $address) {
|
foreach($goto as $address) {
|
||||||
|
if ($address != "") { # $goto[] may contain a "" element
|
||||||
if(!check_email($address)) {
|
if(!check_email($address)) {
|
||||||
$error += 1;
|
$error += 1;
|
||||||
$tMessage = $PALANG['pEdit_alias_goto_text_error2'] . " $address</font>";
|
$tMessage = $PALANG['pEdit_alias_goto_text_error2'] . " $address</font>";
|
||||||
@ -90,8 +93,8 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
else {
|
else {
|
||||||
$good_goto[] = $address;
|
$good_goto[] = $address;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$goto = $good_goto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error == 0) {
|
if ($error == 0) {
|
||||||
@ -99,7 +102,7 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
if($fForward_and_store == "YES" ) {
|
if($fForward_and_store == "YES" ) {
|
||||||
$flags = 'forward_and_store';
|
$flags = 'forward_and_store';
|
||||||
}
|
}
|
||||||
$updated = $ah->update($goto, $flags);
|
$updated = $ah->update($good_goto, $flags);
|
||||||
if($updated) {
|
if($updated) {
|
||||||
header ("Location: main.php");
|
header ("Location: main.php");
|
||||||
exit;
|
exit;
|
||||||
|
@ -43,8 +43,9 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
$fPassword = $_POST['fPassword'];
|
$fPassword = $_POST['fPassword'];
|
||||||
$fPassword2 = $_POST['fPassword2'];
|
$fPassword2 = $_POST['fPassword2'];
|
||||||
|
|
||||||
|
$error = 0;
|
||||||
if(strlen($fPassword) < $CONF['min_password_length']) {
|
if(strlen($fPassword) < $CONF['min_password_length']) {
|
||||||
$error = 1;
|
$error += 1;
|
||||||
flash_error(sprintf($PALANG['pPasswordTooShort'], $CONF['min_password_length']));
|
flash_error(sprintf($PALANG['pPasswordTooShort'], $CONF['min_password_length']));
|
||||||
}
|
}
|
||||||
if(!UserHandler::login($username, $fPassword_current)) {
|
if(!UserHandler::login($username, $fPassword_current)) {
|
||||||
@ -53,11 +54,11 @@ if ($_SERVER['REQUEST_METHOD'] == "POST")
|
|||||||
}
|
}
|
||||||
if (empty ($fPassword) or ($fPassword != $fPassword2))
|
if (empty ($fPassword) or ($fPassword != $fPassword2))
|
||||||
{
|
{
|
||||||
$error = 1;
|
$error += 1;
|
||||||
$pPassword_password_text = $PALANG['pPassword_password_text_error'];
|
$pPassword_password_text = $PALANG['pPassword_password_text_error'];
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($error != 1)
|
if ($error == 0)
|
||||||
{
|
{
|
||||||
$uh = new UserHandler($username);
|
$uh = new UserHandler($username);
|
||||||
if($uh->change_pass($fPassword_current, $fPassword)) {
|
if($uh->change_pass($fPassword_current, $fPassword)) {
|
||||||
|
@ -53,6 +53,9 @@ if (! (check_owner ($SESSID_USERNAME, $fDomain) || authentication_has_role('glob
|
|||||||
$tMessage = $PALANG['pViewlog_result_error'];
|
$tMessage = $PALANG['pViewlog_result_error'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// we need to initialize $tLog as an array!
|
||||||
|
$tLog = array();
|
||||||
|
|
||||||
if ($error != 1)
|
if ($error != 1)
|
||||||
{
|
{
|
||||||
$query = "SELECT timestamp,username,domain,action,data FROM $table_log WHERE domain='$fDomain' ORDER BY timestamp DESC LIMIT 10";
|
$query = "SELECT timestamp,username,domain,action,data FROM $table_log WHERE domain='$fDomain' ORDER BY timestamp DESC LIMIT 10";
|
||||||
|
Loading…
Reference in New Issue
Block a user