- replace get_domain_properties() calls with two SQL queries that fetch
the domain data and count the number of mailboxes and aliases per domain.
This change speeds up list-domain extremely on setups with lots of domains,
mailboxes and aliases. The old code took several minutes on my test data
(that's about 55000 mailboxes and their aliases), the new code only needs
some seconds.
- $domain_properties now uses the domain name as index key instead of a
serial number
templates/admin_list-domain.php:
- replace usage of $list_domains with $domain_properties
- change main loop to use the domain name as $domain_properties array key
instead of a serial number
upgrade.php:
- upgrade_655(): add index on domain column in mailbox and alias table.
This speeds up list-domain from 14s to about 1s on my test data in MySQL
(the 14s were _after_ the changes in list_domain.php)
- added _add_index() function to hide the database specific details in
upgrade functions
This commit should fix the performance problems reported on
http://sourceforge.net/forum/forum.php?thread_id=2343349&forum_id=676076
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@655 a1433add-5e2c-0410-b055-b7f2511e0802
- fix displaying of vacation status in search results - was broken for
a) super admins (wrong nesting of if statements)
b) mailboxes with vacation switched off (empty and therefore invisible link)
templates/admin_search.php:
- deleted unused file
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@622 a1433add-5e2c-0410-b055-b7f2511e0802
- filter available alias and target domains (and print an error message
if none is available)
- print success message via flash_info, not inside the form and do a
redirect afterwards. We would have to update the list of domains
available for aliasing otherwise.
- added vim: settings
templates/create-alias-domain.php:
- hide form if no domains are available for aliasing
- move logic of skipping non-available domains to /create-alias-domain.php
- added vim: settings
templates/list-virtual.php:
- show "create alias domain" link (only) if it makes sence (not perfect
yet, but better than before)
- don't create empty <div> etc. if domain has no mailboxes
- intentionally skipped most whitespace fixes (added a comment instead),
they would make the patch unreadable
languages/*:
- additional error message for alias domains: 'All domains are already
aliased.'
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@422 a1433add-5e2c-0410-b055-b7f2511e0802
- added $CONF['alias_domain'] switch to disable alias domains
(includes lots of whitespace changes in list-virtual.php)
functions.php:
- added some comments to boolconf()
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@419 a1433add-5e2c-0410-b055-b7f2511e0802
functions.inc.php:
- function check_language
- new optional parameter $use_post (needed by login.php)
- check for language cookie
- check for $_POST['lang']
- removed substr() call because it made pt-br translation unuseable
- new function language_selector
- returns a HTML dropdown language selector
- new function safecookie
- similar to safeget, but for cookies
templates/login.php, templates/users_login.php:
- display language selector dropdown
login.php, users/login.php:
- check for selected language
- set cookie if user selected non-default language
languages/language.php: (NEW FILE)
- list of supported languages
- language names taken from phpMyAdmin login form
common.php:
- include languages/language.php
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@280 a1433add-5e2c-0410-b055-b7f2511e0802
- define('POSTFIXADMIN', 1)
templates/*.php
- check if POSTFIXADMIN is defined to prevent direct access to the
template files
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@256 a1433add-5e2c-0410-b055-b7f2511e0802
- made edit form labels and descriptions translatable. This means that
$fm_struct no longer holds the labels and descriptions
- fixed HTML error (missing > for </span>
- added some comments to document the main "if" block
fetchmail.tpl:
- changed button order and placement to make <enter> saving the entry
- made save and cancel buttons translatable
Thanks to Johan for the reminder
https://sourceforge.net/tracker/?func=detail&atid=937964&aid=1830326&group_id=191583
- made edit form labels and descriptions translatable. This also means
reworking of some list(...) = $fm_struct[$row] sections
*.lang:
- added translations for "Save" and "Cancel" buttons
- added translations for edit form labels and descriptions
de.lang:
- translated fetchmail-related texts
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@220 a1433add-5e2c-0410-b055-b7f2511e0802
- merged GET and POST code
- make cancel button working
- redirect to main page on success
- displaying success note with flash_info()
templates/users_password.tpl:
- rename cancel button to fCancel to make it work
users/vacation.php
- redirect to main page on success
- displaying success note with flash_info()
- merge GET and POST code
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@213 a1433add-5e2c-0410-b055-b7f2511e0802
users/vacation.php
- fix double-encoded special characters if language file contains
entity-encoded strings by html_entity_decode'ing the string
(will be encoded in template file later)
users_vacation.tpl:
- encode tSubject with htmlentities() in template
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@209 a1433add-5e2c-0410-b055-b7f2511e0802
- fix double-encoded special characters if language file contains
entity-encoded strings by html_entity_decode'ing the string
(will be encoded in template file later)
edit-vacation.tpl:
- encode tSubject with htmlentities() in template
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@200 a1433add-5e2c-0410-b055-b7f2511e0802
list-domain.php:
- added several admin/superadmin switches and permission checks
- merged GET and POST code
- Note: still different templates for superadmins (admin_list-domain.tpl)
and admins (overview-get.tpl) because of large layout difference
list-virtual.php:
- added several admin/superadmin switches and permission checks
- added check for admins without any domains (redirects to domain list,
which can handle this situation)
- migrated FIXME from overview.php
-> David, please review the query and remove the FIXME afterwards
overview.php:
- DELETED - no longer needed
overview.tpl:
- RENAMED overview.tpl to list-virtual.tpl
- removed admin/superadmin filename switch
- removed $incpath switch for images
menu.tpl:
- menu for domain admins now has "domain list" and "virtual list"
instead of "overview"
delete.php, edit-active.php, edit-alias.php, edit-mailbox.php, search.php:
- changed redirect to list-virtual.php
overview-get.tpl:
- changed link to list-virtual.php
main.tpl:
- changed overview link to list-domain.php
git-svn-id: https://svn.code.sf.net/p/postfixadmin/code/trunk@181 a1433add-5e2c-0410-b055-b7f2511e0802