/**
  * Handler called after the creation/update of the database schema
  * @param $oConfiguration Config The new configuration of the application
  * @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
  * @param $sCurrentVersion string Current version number of the module
  */
 public static function AfterDatabaseCreation(Config $oConfiguration, $sPreviousVersion, $sCurrentVersion)
 {
     // Bug #464 - start_date was both in Ticket and Change tables
     //
     $sSourceTable = 'change';
     $sSourceKeyField = 'id';
     $sTargetTable = 'ticket';
     $sTargetKeyField = 'id';
     $sField = 'start_date';
     if (CMDBSource::IsField($sSourceTable, $sField) && CMDBSource::IsField($sTargetTable, $sField) && CMDBSource::IsField($sSourceTable, $sSourceKeyField) && CMDBSource::IsField($sTargetTable, $sTargetKeyField)) {
         SetupWebPage::log_info("Issue #464 - Copying change/start_date into ticket/start_date");
         $sRepair = "UPDATE `{$sTargetTable}`, `{$sSourceTable}` SET `{$sTargetTable}`.`{$sField}` = `{$sSourceTable}`.`{$sField}` WHERE `{$sTargetTable}`.`{$sField}` IS NULL AND`{$sTargetTable}`.`{$sTargetKeyField}` = `{$sSourceTable}`.`{$sSourceKeyField}`";
         CMDBSource::Query($sRepair);
     }
 }
//
//   This file is part of iTop.
//
//   iTop is free software; you can redistribute it and/or modify
//   it under the terms of the GNU Affero General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   iTop 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 Affero General Public License for more details.
//
//   You should have received a copy of the GNU Affero General Public License
//   along with iTop. If not, see <http://www.gnu.org/licenses/>
SetupWebPage::AddModule(__FILE__, 'itop-attachments/1.0.0', array('label' => 'Tickets attachments', 'category' => 'business', 'dependencies' => array(), 'mandatory' => false, 'visible' => true, 'installer' => 'AttachmentInstaller', 'datamodel' => array('model.itop-attachments.php', 'main.attachments.php'), 'webservice' => array(), 'dictionary' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array('allowed_classes' => array('Ticket'), 'position' => 'relations')));
if (!class_exists('AttachmentInstaller')) {
    // Module installation handler
    //
    class AttachmentInstaller extends ModuleInstallerAPI
    {
        public static function BeforeWritingConfig(Config $oConfiguration)
        {
            // If you want to override/force some configuration values, do it here
            return $oConfiguration;
        }
        /**
         * Handler called before creating or upgrading the database schema
         * @param $oConfiguration Config The new configuration of the application
         * @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
         * @param $sCurrentVersion string Current version number of the module
<?php

SetupWebPage::AddModule(__FILE__, 'itop-config/1.0.2', array('label' => 'Configuration editor', 'category' => 'Application management', 'dependencies' => array(), 'mandatory' => true, 'visible' => false, 'datamodel' => array('main.itop-config.php'), 'webservice' => array(), 'dictionary' => array('en.dict.itop-config.php', 'fr.dict.itop-config.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-welcome-itil/2.0.0', array('label' => 'ITIL skin', 'category' => 'skin', 'dependencies' => array(), 'mandatory' => true, 'visible' => false, 'datamodel' => array('main.itop-welcome-itil.php', 'model.itop-welcome-itil.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-request-mgmt/1.0.0', array('label' => 'User request management (Service Desk)', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/1.0.0', 'itop-tickets/1.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.itop-request-mgmt.php', 'main.itop-request-mgmt.php'), 'data.struct' => array('data.struct.ta-triggers.xml', 'data.struct.ta-links.xml'), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-service-mgmt-provider/2.0.0', array('label' => 'Service Management (services, SLAs, contracts) for Service providers', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.0.0', 'itop-tickets/2.0.0'), 'mandatory' => false, 'visible' => true, 'installer' => 'ServiceMgmtProviderInstaller', 'datamodel' => array('model.itop-service-mgmt-provider.php'), 'data.struct' => array(), 'data.sample' => array('data.sample.organizations.xml', 'data.sample.contracts.xml', 'data.sample.services.xml', 'data.sample.serviceelements.xml', 'data.sample.sla.xml', 'data.sample.slt.xml', 'data.sample.sltsla.xml', 'data.sample.contractservice.xml', 'data.sample.deliverymodelcontact.xml'), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
if (!class_exists('ServiceMgmtProviderInstaller')) {
    // Module installation handler
    //
    class ServiceMgmtProviderInstaller extends ModuleInstallerAPI
    {
        public static function BeforeWritingConfig(Config $oConfiguration)
        {
            // If you want to override/force some configuration values, do it here
            return $oConfiguration;
        }
        /**
         * Handler called before creating or upgrading the database schema
         * @param $oConfiguration Config The new configuration of the application
         * @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
         * @param $sCurrentVersion string Current version number of the module
         */
        public static function BeforeDatabaseCreation(Config $oConfiguration, $sPreviousVersion, $sCurrentVersion)
        {
            if (strlen($sPreviousVersion) > 0) {
                // If you want to migrate data from one format to another, do it here
                self::RenameClassInDB('ServiceFamilly', 'ServiceFamily');
                self::RenameEnumValueInDB('SLT', 'request_type', 'servicerequest', 'service_request');
            }
        }
        /**
         * Handler called after the creation/update of the database schema
         * @param $oConfiguration Config The new configuration of the application
         * @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
<?php

//
// iTop module definition file
//
SetupWebPage::AddModule(__FILE__, 'ipdevices/', array('label' => 'IP Devices Module', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.0.0', 'itop-datacenter-mgmt/2.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.ipdevices.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

//
// iTop module definition file
//
SetupWebPage::AddModule(__FILE__, 'rdm-module/', array('label' => 'RDM Module', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.0.0', 'itop-datacenter-mgmt/2.0.0', 'itop-endusers-devices/2.0.0', 'itop-service-mgmt/2.0.0', 'itop-storage-mgmt/2.0.0', 'itop-virtualization-mgmt/2.0.0', 'itop-welcome-itil/2.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.rdm-module.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-service-mgmt/1.0.0', array('label' => 'Service Management (services, SLAs, contracts)', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/1.0.0'), 'mandatory' => true, 'visible' => true, 'datamodel' => array('model.itop-service-mgmt.php', 'main.itop-service-mgmt.php'), 'data.struct' => array(), 'data.sample' => array('data.sample.Service.xml', 'data.sample.ServiceSubcategory.xml', 'data.sample.SLA.xml', 'data.sample.SLT.xml', 'data.sample.lnkSLTToSLA.xml', 'data.sample.Contract.xml', 'data.sample.lnkContractToSLA.xml'), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

//
// iTop module definition file
//
SetupWebPage::AddModule(__FILE__, 'equipamento-medico/1.0.0', array('label' => 'Equipamento Mรฉdico', 'category' => 'business', 'dependencies' => array(), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.equipamento-medico.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

// Copyright (C) 2010 Combodo SARL
//
//   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 3 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.
//
//   You should have received a copy of the GNU General Public License
//   along with this program; if not, write to the Free Software
//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
SetupWebPage::AddModule(__FILE__, 'itop-virtualization-mgmt/2.0.0', array('label' => 'Virtualization Management', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.itop-virtualization-mgmt.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array('data.sample.farm.xml', 'data.sample.hypervisor.xml', 'data.sample.vm.xml', 'data.sample.dbserver.xml', 'data.sample.dbschema.xml', 'data.sample.webserver.xml', 'data.sample.webapp.xml', 'data.sample.applicationsolutionci.xml'), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-config-mgmt/1.0.0', array('label' => 'Configuration Management (CMDB)', 'category' => 'business', 'dependencies' => array(), 'mandatory' => true, 'visible' => true, 'datamodel' => array('main.itop-config-mgmt.php', 'model.itop-config-mgmt.php'), 'data.struct' => array('data.struct.Audit.xml'), 'data.sample' => array('data.sample.Organization.xml', 'data.sample.Location.xml', 'data.sample.Software.xml', 'data.sample.Contact.xml', 'data.sample.lnkTeamToContact.xml', 'data.sample.FunctionalCI.xml', 'data.sample.DBServerInstance.xml', 'data.sample.ApplicationInstance.xml', 'data.sample.DatabaseInstance.xml', 'data.sample.NetworkInterface.xml', 'data.sample.lnkCIToContact.xml', 'data.sample.lnkProcessToSolution.xml', 'data.sample.lnkSolutionToCI.xml'), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-tickets/1.0.0', array('label' => 'Tickets Management', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/1.0.0'), 'mandatory' => true, 'visible' => false, 'installer' => 'TicketsInstaller', 'datamodel' => array('model.itop-tickets.php', 'main.itop-tickets.php'), 'data.struct' => array('data.struct.ta-actions.xml'), 'data.sample' => array(), 'doc.manual_setup' => '/documentation/itop-tickets.htm', 'doc.more_information' => '', 'settings' => array()));
if (!class_exists('TicketsInstaller')) {
    // Module installation handler
    //
    class TicketsInstaller extends ModuleInstallerAPI
    {
        public static function AfterDatabaseCreation(Config $oConfiguration, $sPreviousVersion, $sCurrentVersion)
        {
            // Delete all Triggers corresponding to a no more valid class
            $oSearch = new DBObjectSearch('TriggerOnObject');
            $oSet = new DBObjectSet($oSearch);
            $oChange = null;
            while ($oTrigger = $oSet->Fetch()) {
                if (!MetaModel::IsValidClass($oTrigger->Get('target_class'))) {
                    if ($oChange == null) {
                        // Create the change for its first use
                        $oChange = new CMDBChange();
                        $oChange->Set("date", time());
                        $oChange->Set("userinfo", "Uninstallation");
                        $oChange->DBInsert();
                    }
                    $oTrigger->DBDeleteTracked($oChange);
                }
            }
        }
    }
}
<?php

SetupWebPage::AddModule(__FILE__, 'authent-local/2.2.0', array('label' => 'User authentication based on the local DB', 'category' => 'authentication', 'dependencies' => array(), 'mandatory' => true, 'visible' => true, 'datamodel' => array('model.authent-local.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

// Copyright (C) 2010-2012 Combodo SARL
//
//   This file is part of iTop.
//
//   iTop is free software; you can redistribute it and/or modify
//   it under the terms of the GNU Affero General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   iTop 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 Affero General Public License for more details.
//
//   You should have received a copy of the GNU Affero General Public License
//   along with iTop. If not, see <http://www.gnu.org/licenses/>
SetupWebPage::AddModule(__FILE__, 'itop-sla-computation/1.0.0', array('label' => 'SLA Computation', 'category' => 'sla', 'dependencies' => array(), 'mandatory' => true, 'visible' => false, 'datamodel' => array('main.itop-sla-computation.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

// Copyright (C) 2010-2012 Combodo SARL
//
//   This file is part of iTop.
//
//   iTop is free software; you can redistribute it and/or modify
//   it under the terms of the GNU Affero General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   iTop 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 Affero General Public License for more details.
//
//   You should have received a copy of the GNU Affero General Public License
//   along with iTop. If not, see <http://www.gnu.org/licenses/>
SetupWebPage::AddModule(__FILE__, 'itop-profiles-itil/1.0.0', array('label' => 'Create standard ITIL profiles', 'category' => 'create_profiles', 'dependencies' => array(), 'mandatory' => true, 'visible' => false, 'datamodel' => array('model.itop-profiles-itil.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-config-mgmt/2.2.0', array('label' => 'Configuration Management (CMDB)', 'category' => 'business', 'dependencies' => array(), 'mandatory' => true, 'visible' => true, 'installer' => 'ConfigMgmtInstaller', 'datamodel' => array('model.itop-config-mgmt.php', 'main.itop-config-mgmt.php'), 'data.struct' => array(), 'data.sample' => array('data.sample.organizations.xml', 'data.sample.brand.xml', 'data.sample.model.xml', 'data.sample.osfamily.xml', 'data.sample.osversion.xml', 'data.sample.networkdevicetype.xml', 'data.sample.contacttype.xml', 'data.sample.locations.xml', 'data.sample.persons.xml', 'data.sample.teams.xml', 'data.sample.contactteam.xml', 'data.sample.servers.xml', 'data.sample.nw-devices.xml', 'data.sample.software.xml', 'data.sample.dbserver.xml', 'data.sample.dbschema.xml', 'data.sample.webserver.xml', 'data.sample.webapp.xml', 'data.sample.applications.xml', 'data.sample.applicationsolutionci.xml'), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
if (!class_exists('ConfigMgmtInstaller')) {
    // Module installation handler
    //
    class ConfigMgmtInstaller extends ModuleInstallerAPI
    {
        public static function BeforeWritingConfig(Config $oConfiguration)
        {
            // If you want to override/force some configuration values, do it here
            return $oConfiguration;
        }
        /**
         * Handler called before creating or upgrading the database schema
         * @param $oConfiguration Config The new configuration of the application
         * @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
         * @param $sCurrentVersion string Current version number of the module
         */
        public static function BeforeDatabaseCreation(Config $oConfiguration, $sPreviousVersion, $sCurrentVersion)
        {
            if (strlen($sPreviousVersion) > 0) {
                // If you want to migrate data from one format to another, do it here
                self::RenameEnumValueInDB('Software', 'type', 'DBserver', 'DBServer');
                self::RenameEnumValueInDB('Software', 'type', 'Webserver', 'WebServer');
                self::RenameEnumValueInDB('Model', 'type', 'SANswitch', 'SANSwitch');
                self::RenameEnumValueInDB('Model', 'type', 'IpPhone', 'IPPhone');
                self::RenameEnumValueInDB('Model', 'type', 'Telephone', 'Phone');
                self::RenameClassInDB('DBserver', 'DBServer');
                self::RenameClassInDB('OSfamily', 'OSFamily');
                self::RenameClassInDB('OSversion', 'OSVersion');
<?php

SetupWebPage::AddModule(__FILE__, 'itop-bridge-virtualization-storage/2.0.0', array('label' => 'Links between virtualization and storage', 'category' => 'business', 'dependencies' => array(), 'mandatory' => false, 'visible' => true, 'auto_select' => 'SetupInfo::ModuleIsSelected("itop-storage-mgmt") && SetupInfo::ModuleIsSelected("itop-virtualization-mgmt")', 'datamodel' => array('model.itop-bridge-virtualization-storage.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-request-mgmt/2.0.0', array('label' => 'Simple Ticket Management', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.0.0', 'itop-tickets/2.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.itop-request-mgmt.php', 'main.itop-request-mgmt.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

/**
 * iTop module definition file
 *
 * @copyright   Copyright (C) 2015 ThiagoArcanjo
 * @license     http://opensource.org/licenses/AGPL-3.0
 */
SetupWebPage::AddModule(__FILE__, 'portal-WorkOrder/', array('label' => 'Portal Work Order', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.portal-WorkOrder.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

// Copyright (C) 2010-2012 Combodo SARL
//
//   This file is part of iTop.
//
//   iTop is free software; you can redistribute it and/or modify
//   it under the terms of the GNU Affero General Public License as published by
//   the Free Software Foundation, either version 3 of the License, or
//   (at your option) any later version.
//
//   iTop 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 Affero General Public License for more details.
//
//   You should have received a copy of the GNU Affero General Public License
//   along with iTop. If not, see <http://www.gnu.org/licenses/>
/**
 * Authent External
 * Module definition file for the "External Authentication" module
 *
 * @copyright   Copyright (C) 2010-2012 Combodo SARL
 * @license     http://opensource.org/licenses/AGPL-3.0
 */
SetupWebPage::AddModule(__FILE__, 'authent-external/1.0.0', array('label' => 'External user authentication', 'category' => 'authentication', 'dependencies' => array(), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.authent-external.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-backup/2.2.0', array('label' => 'Backup utilities', 'category' => 'Application management', 'dependencies' => array(), 'mandatory' => true, 'visible' => false, 'datamodel' => array('main.itop-backup.php'), 'webservice' => array(), 'dictionary' => array('en.dict.itop-backup.php', 'fr.dict.itop-backup.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array('mysql_bindir' => '', 'week_days' => 'monday, tuesday, wednesday, thursday, friday', 'time' => '23:30', 'retention_count' => 5, 'enabled' => true, 'debug' => false)));
<?php

SetupWebPage::AddModule(__FILE__, 'itop-knownerror-mgmt/1.0.0', array('label' => 'Known Errors Database', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/1.0.0', 'itop-tickets/1.0.0', 'itop-incident-mgmt/1.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.itop-knownerror-mgmt.php', 'main.itop-knownerror-mgmt.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
<?php

// Until we develop a mean to adress this within the setup, let's check that this instance
// of PHP has the php_ldap extension
//
if (function_exists('ldap_connect')) {
    SetupWebPage::AddModule(__FILE__, 'authent-ldap/1.0.0', array('label' => 'User authentication based on LDAP', 'category' => 'authentication', 'dependencies' => array(), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.authent-ldap.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array('host' => 'localhost', 'port' => 389, 'default_user' => '', 'default_pwd' => '', 'base_dn' => 'dc=yourcompany,dc=com', 'user_query' => '(&(uid=%1$s)(inetuserstatus=ACTIVE))', 'options' => array(LDAP_OPT_PROTOCOL_VERSION => 3, LDAP_OPT_REFERRALS => 0), 'debug' => false)));
}
// if (function_exists('ldap_connect'))
<?php

SetupWebPage::AddModule(__FILE__, 'itop-incident-mgmt-itil/2.2.0', array('label' => 'Incident Management ITIL', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.2.0', 'itop-tickets/2.0.0', 'itop-profiles-itil/1.0.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.itop-incident-mgmt-itil.php'), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
//   but WITHOUT ANY WARRANTY; without even the implied warranty of
//   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//   GNU General Public License for more details.
//
//   You should have received a copy of the GNU General Public License
//   along with this program; if not, write to the Free Software
//   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
/**
 * Module providing advanced CIs for modeling storage: SAN, Volumes...
 *
 * @author      Erwan Taloc <*****@*****.**>
 * @author      Romain Quetiez <*****@*****.**>
 * @author      Denis Flaven <*****@*****.**>
 * @license     http://opensource.org/licenses/AGPL-3.0
 */
SetupWebPage::AddModule(__FILE__, 'itop-storage-mgmt/2.2.0', array('label' => 'Advanced Storage Management', 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.2.0'), 'mandatory' => false, 'visible' => true, 'installer' => 'StorageMgmtInstaller', 'datamodel' => array('model.itop-storage-mgmt.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));
if (!class_exists('StorageMgmtInstaller')) {
    // Module installation handler
    //
    class StorageMgmtInstaller extends ModuleInstallerAPI
    {
        public static function BeforeWritingConfig(Config $oConfiguration)
        {
            // If you want to override/force some configuration values, do it here
            return $oConfiguration;
        }
        /**
         * Handler called before creating or upgrading the database schema
         * @param $oConfiguration Config The new configuration of the application
         * @param $sPreviousVersion string PRevious version number of the module (empty string in case of first install)
         * @param $sCurrentVersion string Current version number of the module
<?php

//
// iTop module definition file
//
SetupWebPage::AddModule(__FILE__, 'action-shell-exec/1.0.0', array('label' => "Action Shell Script Execution", 'category' => 'business', 'dependencies' => array('itop-config-mgmt/2.2.0'), 'mandatory' => false, 'visible' => true, 'datamodel' => array('model.action-shell-exec.php', 'main.action-shell-exec.php'), 'webservice' => array(), 'data.struct' => array(), 'data.sample' => array(), 'doc.manual_setup' => '', 'doc.more_information' => '', 'settings' => array()));