User Tools

Site Tools


plugins:demo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
plugins:demo [2013/04/27 05:13]
nuxwin [II. Plugin activation]
plugins:demo [2014/02/23 09:44] (current)
nuxwin
Line 1: Line 1:
-=====i-MSCP ​Demo Plugin =====+=====Demo Plugin=====
  
-====== ​Version Info ====== +======REQUIREMENTS======
-^Plugin Version|0.0.7| +
-^Author|Laurent Declercq <​[email protected]>​| +
-^License|GPLv2| +
-^i-MSCP target versions|>​= 1.0.2.1| +
-^Last Update|2012-02-16|+
  
-======Introduction======+  * i-MSCP >1.1.0
  
-The demo plugin ​for i-MSCP ​allow to setup an i-MSCP demo server in few minutes.+======INTRODUCTION====== 
 + 
 +The demo plugin allow to setup an i-MSCP demo server in few minutes.
 It allow to: It allow to:
  
Line 17: Line 14:
   - Provide an actions list that must be disabled   - Provide an actions list that must be disabled
  
-=====I. Plugin configuration=====+=====CONFIGURATION=====
  
-====A. Modal dialog box on login page====+====Modal dialog box on login page====
  
-The dialog box is only displayed ​if you provide a set of configuration parameters that describe user accounts. The plugin configuration file contains a simple PHP associative array (//See the sample below//).+The dialog box is only shown if you provide a set of configuration parameters that describe user accounts. The plugin configuration file contains a simple PHP associative array (//See the sample below//).
  
 To describe an user account, you must add a new section like below in the configuration file: To describe an user account, you must add a new section like below in the configuration file:
-<code php> + 
-... +  ... 
- '​user_accounts'​ => array( +   '​user_accounts'​ => array( 
- array( +   array( 
- '​label'​ => '​Administrator 1', +   '​label'​ => '​Administrator 1', 
- '​username'​ => '​admin1',​ +   '​username'​ => '​admin1',​ 
- '​password'​ => '​admin1',​ +   '​password'​ => '​admin1',​ 
- '​protected'​ => true +   '​protected'​ => true 
- +  
-+  
-... +  ...
-</​code>​+
  
 **Note:** User accounts are shown in dialog box only if they exists in the i-MSCP database. **Note:** User accounts are shown in dialog box only if they exists in the i-MSCP database.
  
-====B. Protection against deletion and password modification (Demo users)====+====Protection against deletion and password modification (Demo users)====
  
-If an user account has the protected option set to TRUE (as above), it will be protected against deletion, and password modification.+If an user account has the protected option set to TRUE (//as above//), it will be protected against deletion, and password modification.
  
-====C. Disabled actions====+====Disabled actions====
  
-The plugin allows to disable some actions such as '**addFtp**''**EditFtp**''**DeleteFtp**'. The action names are same as event names dispatched in i-MSCP code. Only the **onBefore*** actions are supported since the others are not really relevant in the demo plugin context. You can see all integrated events by reading the [[https://​github.com/​i-MSCP/​imscp/​blob/​master/​gui/​library/​iMSCP/​Events.php|iMSCP_Events]] class.+The plugin allows to disable some actions such as **addFtp**, **EditFtp**,​ **DeleteFtp**. The action names are same as event names dispatched in i-MSCP code. Only the **onBefore** actions are supported since the others are not really relevant in the demo plugin context. You can see all integrated events by reading the [[https://​github.com/​i-MSCP/​imscp/​blob/​master/​gui/​library/​iMSCP/​Events.php|iMSCP_Events]] class.
  
 To disable one or more actions, you must add a new section like below in the plugin configuration file: To disable one or more actions, you must add a new section like below in the plugin configuration file:
  
-<code php> +  ​... 
-... +   '​disabled_actions'​ => array( 
- '​disabled_actions'​ => array( +   '​onBeforeAddFtp',​ 
- '​onBeforeAddFtp',​ +   '​onBeforeEditFtp',​ 
- '​onBeforeEditFtp',​ +   '​onBeforeDeleteFtp',​ 
- '​onBeforeDeleteFtp',​ +   '​onBeforeAddSqlUser',​ 
- '​onBeforeAddSqlUser',​ +   '​onBeforeEditSqlUser',​ 
- '​onBeforeEditSqlUser',​ +   '​onBeforeDeleteSqlUser',​ 
- '​onBeforeDeleteSqlUser',​ +   '​onBeforeAddSqlDb',​ 
- '​onBeforeAddSqlDb',​ +   '​onBeforeDeleteSqlDb'​ 
- '​onBeforeDeleteSqlDb'​ +  
-+  ...
-... +
-</​code>​+
  
-====D. Configuration file sample====+ 
 +====Configuration file sample====
  
 A configuration file for the demo plugin can be: A configuration file for the demo plugin can be:
  
-<code php> +  // Configuration file sample for the demo plugin 
-<?php +   
-return array( +  return array( 
- /+   // List of user accounts that will be available via select box on login page. If an user account is protected, it 
- List of user accounts that will be available via select box on login page. If an user account is protected, it +   // will be imposible to remove it. Also, its password will be protected ​ against modification. 
- will be imposible to remove it. Also, its password will be protected against modification. +   '​user_accounts'​ => array( 
- */ +   array( 
- '​user_accounts'​ => array( +   '​label'​ => '​Administrator 1', 
- array( +   '​username'​ => '​admin1',​ 
- '​label'​ => '​Administrator 1', +   '​password'​ => '​admin1',​ 
- '​username'​ => '​admin1',​ +   '​protected'​ => true 
- '​password'​ => '​admin1',​ +   ), 
- '​protected'​ => true +   array( 
- ), +  ​ '​label'​ => '​Administrator 2', 
- array( +  '​username'​ => '​admin2',​ 
- '​label'​ => '​Reseller 1', +  '​password'​ => '​admin2',​ 
- '​username'​ => '​reseller1',​ +  '​protected'​ => true 
- '​password'​ => '​reseller1',​ +  ), 
- '​protected'​ => true +  array( 
- +  '​label'​ => '​Administrator 3', 
- ), +  '​username'​ => '​admin3',​ 
- +  '​password'​ => '​admin3',​ 
- /* +  '​protected'​ => true 
- List of actions that must be totally disabled. Each action must be prefixed by '​onBefore'​ +  ), 
- *+  array( 
- '​disabled_actions'​ => array( +  '​label'​ => '​Reseller 1', 
- '​onBeforeAddFtp',​ +   '​username'​ => '​reseller1',​ 
- '​onBeforeEditFtp',​ +   '​password'​ => '​reseller1',​ 
- '​onBeforeDeleteFtp',​ +   '​protected'​ => true 
- '​onBeforeAddSqlUser',​ +   ), 
- '​onBeforeEditSqlUser',​ +  ​ array( 
- '​onBeforeDeleteSqlUser',​ +  '​label'​ => '​Reseller 2', 
- '​onBeforeAddSqlDb',​ +  '​username'​ => '​reseller2',​ 
- '​onBeforeDeleteSqlDb'​ +  '​password'​ => '​reseller2',​ 
-+  '​protected'​ => true 
-); +  ), 
-</​code>​+  ​ array( 
 +  ​ '​label'​ => '​Reseller 3', 
 +  ​ '​username'​ => '​reseller3',​ 
 +  '​password'​ => '​reseller3',​ 
 +  '​protected'​ => true 
 +  ), 
 +  array( 
 +  '​label'​ => '​Customer 1', 
 +  '​username'​ => '​domain1.tld',​ 
 +  '​password'​ => '​domain1',​ 
 +  '​protected'​ => true 
 +  ), 
 +  array( 
 +  '​label'​ => '​Customer 2', 
 +  '​username'​ => '​domain2.tld',​ 
 +  '​password'​ => '​domain2',​ 
 +  '​protected'​ => true 
 +  ), 
 +  array( 
 +  '​label'​ => '​Customer 3', 
 +  '​username'​ => '​domain3.tld',​ 
 +  '​password'​ => '​domain3',​ 
 +  '​protected'​ => true 
 +  ) 
 +  ), 
 +   
 +  // List of actions that must be totally disabled. Each action must be prefixed by '​onBefore'​ 
 +   /
 +   // Important consideration:​ 
 +  // Even if you add the '​onBeforeDeactivatePlugin'​ in the list below, you'll still able to deactivate this plugin. 
 +  // The only way to protect this plugin against deactivation is to protect it using the plugin protection feature. 
 +  '​disabled_actions'​ => array( 
 +  ​ '​onBeforeEditAdminGeneralSettings',​ 
 +  '​onBeforeAddUser',​ 
 +  '​onBeforeEditUser',​ 
 +  '​onBeforeDeleteUser',​ 
 +  '​onBeforeDeleteCustomer',​ 
 +  '​onBeforeAddFtp',​ 
 +   '​onBeforeEditFtp',​ 
 +   '​onBeforeDeleteFtp',​ 
 +   '​onBeforeAddSqlUser',​ 
 +   '​onBeforeEditSqlUser',​ 
 +   '​onBeforeDeleteSqlUser',​ 
 +   '​onBeforeAddSqlDb',​ 
 +   '​onBeforeDeleteSqlDb'​, 
 +  ​ '​onBeforeUpdatePluginList',​ 
 +  '​onBeforeInstallPlugin',​ 
 +  '​onBeforeUninstallPlugin',​ 
 +  '​onBeforeEnablePlugin',​ 
 +  '​onBeforeDisablePlugin',​ 
 +  '​onBeforeUpdatePlugin',​ 
 +  '​onBeforeDeletePlugin',​ 
 +  '​onBeforeProtectPlugin',​ 
 +  '​onBeforeAddDomain',​ 
 +  '​onBeforeEditDomain',​ 
 +  '​onBeforeAddSubdomain',​ 
 +  '​onBeforeEditSubdomain',​ 
 +  '​onBeforeDeleteSubdomain',​ 
 +  '​onBeforeAddDomainAlias',​ 
 +  '​onBeforeEditDomainAlias',​ 
 +  '​onBeforeDeleteDomainAlias',​ 
 +  '​onBeforeAddMail',​ 
 +  '​onBeforeEditMail',​ 
 +  '​onBeforeDeleteMail',​ 
 +  '​onBeforeAddExternalMailServer',​ 
 +  '​onBeforeChangeDomainStatus'​ 
 + 
 +  );
  
 This file live in the [[https://​github.com/​i-MSCP/​imscp/​tree/​master/​gui/​plugins/​Demo|gui/​plugins/​Demo]] directory and is named [[https://​github.com/​i-MSCP/​imscp/​blob/​master/​gui/​plugins/​Demo/​config.php|config.php]]. This file live in the [[https://​github.com/​i-MSCP/​imscp/​tree/​master/​gui/​plugins/​Demo|gui/​plugins/​Demo]] directory and is named [[https://​github.com/​i-MSCP/​imscp/​blob/​master/​gui/​plugins/​Demo/​config.php|config.php]].
  
-=====II. Plugin activation=====+=====ACTIVATION=====
  
-To activate the plugin, you must configure it and update ​the plugin list via the i-MSCP ​plugin management interface. Once it's done, you must activate it by clicking ​on the activate ​link into the plugin management interface+To activate the plugin, you must in order: 
 + 
 +  - configure it by editing ​the plugins/​Demo/​config.php configuration file 
 +  - go to the plugin management interface 
 +  - cick on the **Update Plugins** button 
 +  - click on the activate ​icone
  
 **Important** **Important**
  
-In production environment,​ this plugin must be protected against deactivation. For this, you must protect it by clicking on the **protect** ​link in the plugin management interface.+In production environment,​ this plugin must be protected against deactivation. For this, you must protect it by clicking on the **protect** ​icone in the plugin management interface. 
 + 
 +=====DEACTIVATION===== 
 + 
 +First, if the plugin is protected, you must edit the **gui/​data/​persistent/​protected_plugins.php** file to remove it from the list of protected plugins. After, you will be able to deactivate it by clicking on the **deactivate** icone in the plugin management interface. 
 + 
 +=====LICENSE=====
  
-=====IIIPlugin deactivation=====+  Copyright (C) 2010-2014 by Laurent Declercq [email protected] 
 +   
 +  This program is free software; you can redistribute it and/or modify it under 
 +  the terms of the GNU General Public License as published by the Free Software  
 +  Foundation; version 2 of the License 
 +   
 +  This program is distributed in the hope that it will be useful, but WITHOUT 
 +  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 
 +  FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
  
-First, if the plugin is protected, you must edit the **gui/​data/​persistent/​protected_plugins.php** file to remove it from the list of protected plugins. After, you will be able to deactivate it by clicking on the **deactivate** link into the plugin management interface.+=====AUTHORS=====
  
-Feel free to test it and report any bugs or suggestions for improvement.+  * Laurent Declercq <l.[email protected]>​
/var/www/virtual/i-mscp.net/wiki/htdocs/data/attic/plugins/demo.1367039630.txt.gz · Last modified: 2013/04/27 05:13 by nuxwin