I'm thinking of adding this functionality.. Basically, the idea is similar to other panels, whereas we can standardize the 'suspending' process and have it centralized in ISPConfig code.. Here's the basic required process I'm thinking.. Input welcome: 1. Set Account Inactive, whereas they can't login to ISPConfig 2. Place Suspension page into their directory.. Rename any existing htaccess if there is any to another location. Redirect All traffic to suspension page. 3. Lock out all shell actual unix accounts using usermod -L.. 4. mysql ftp accounts set 'active' field to 0. 5. Remove login permission from all mysql accounts owned by user. Am I missing anything? And any input on where the actual 'suspend' command should be located? A remote API call is definitely a requirement in my opinion as well, so any calls in that use a suspend functionality would be standardized.
Such a functionality would consist of several parts. A interface script which provides the form and updates the active status fields of all involved database tables, it could be e.g. located under tools. Setting the active fields to inactive will do most of the job already as the existing server plugins will then deactivate shell users, mysql databases etc. Routing traffic to a suspension page should be optional and configurable as many providers might want to disable a website without routing some traffic. So the change of .htaccess file should be implemented as action in the remoteaction_core_module.inc.php file so that it can be called from the interface. The website should not be deactivated in the case that you want to route traffic. The remote api call will be the last part as its is only a function with a few lines of code that makes the internal functionality available to remote calls.