Ejemplo n.º 1
0
 /**
  * 
  */
 public static function installCentreon()
 {
     if (Migrate::checkForMigration()) {
         Migrate::migrateCentreon();
     } else {
         // Initialize configuration
         $di = Di::getDefault();
         $config = $di->get('config');
         $centreonPath = $config->get('global', 'centreon_path');
         $dbName = $config->get('db_centreon', 'dbname');
         // Check Php Dependencies
         $phpDependencies = json_decode(file_get_contents(rtrim($centreonPath, '/') . '/install/dependencies.json'));
         PhpDependencies::checkDependencies($phpDependencies);
         echo Colorize::colorizeMessage("Starting to install Centreon 3.0", "info") . "\n";
         echo "Creating " . Colorize::colorizeText('centreon', 'blue', 'black', true) . " database... ";
         // Install DB
         $migrationManager = new Manager('core', 'production');
         $migrationManager->generateConfiguration();
         $cmd = self::getPhinxCallLine() . 'migrate ';
         $cmd .= '-c ' . $migrationManager->getPhinxConfigurationFile();
         $cmd .= ' -e core';
         shell_exec($cmd);
         //Db::update('core');
         echo Colorize::colorizeText('Done', 'green', 'black', true) . "\n";
         $modulesToInstall = self::getCoreModules();
         $dependencyResolver = new Dependency($modulesToInstall['modules']);
         $installOrder = $dependencyResolver->resolve();
         foreach ($installOrder as $moduleName) {
             $currentModule = $modulesToInstall['modules'][$moduleName];
             $moduleInstaller = new $currentModule['classCall']($currentModule['directory'], $currentModule['infos'], 'console');
             $moduleInstaller->install();
         }
         echo Colorize::colorizeMessage("Centreon 3.0 has been successfully installed", "success") . "\n";
     }
 }
Ejemplo n.º 2
0
 /**
  * 
  */
 public static function migrateCentreon()
 {
     if (!self::checkForMigration()) {
         Install::installCentreon();
     } else {
         $di = Di::getDefault();
         $config = $di->get('config');
         $dbName = $config->get('db_centreon', 'dbname');
         echo Colorize::colorizeMessage("Starting to migrate to Centreon 3.0", "info") . "\n";
         echo "Preparing Migration... ";
         self::prepareDb();
         echo Colorize::colorizeText('Done', 'green', 'black', true) . "\n";
         echo "Migrating " . Colorize::colorizeText('centreon', 'blue', 'black', true) . " database... ";
         Db::update($dbName);
         echo Colorize::colorizeText('Done', 'green', 'black', true) . "\n";
         $modulesToInstall = self::getCoreModules();
         $dependencyResolver = new Dependency($modulesToInstall['modules']);
         $installOrder = $dependencyResolver->resolve();
         foreach ($installOrder as $moduleName) {
             $currentModule = $modulesToInstall['modules'][$moduleName];
             $moduleInstaller = new $currentModule['classCall']($currentModule['directory'], $currentModule['infos'], 'console');
             echo "Installing " . Colorize::colorizeText($moduleName, 'purple', 'black', true) . " module... ";
             $moduleInstaller->install(false);
             echo Colorize::colorizeText('Done', 'green', 'black', true) . "\n";
         }
         echo Colorize::colorizeMessage("Your Centreon has been successfully migrated to Centreon 3.0", "success") . "\n";
     }
 }
Ejemplo n.º 3
0
 /**
  * 
  * @param string $message
  * @param boolean $withEndOfLine
  * @param string $color
  */
 public static function display($message, $withEndOfLine = true, $color = null)
 {
     $endOfLine = "";
     if (isset($color)) {
         $message = Colorize::colorizeText($message, $color);
     }
     if ($withEndOfLine) {
         $endOfLine .= "\n";
     }
     echo $message . $endOfLine;
 }
Ejemplo n.º 4
0
 /**
  * 
  * @param array $ListOfCommands
  * @param string $module
  */
 private function displayCommandList($ListOfCommands, $module = null)
 {
     if (!is_null($module)) {
         $ListOfCommands = array($module => $ListOfCommands);
     }
     foreach ($ListOfCommands as $module => $section) {
         if ($module == 'core') {
             $moduleColorized = Colorize::colorizeText($module, "blue", "black", true);
         } else {
             $moduleColorized = Colorize::colorizeText($module, "purple", "black", true);
         }
         echo "[" . $moduleColorized . "]\n";
         foreach ($section as $sectionName => $call) {
             $explodedSectionName = explode('\\', $sectionName);
             $nbOfChunk = count($explodedSectionName);
             $commandName = "";
             for ($i = 0; $i < $nbOfChunk - 1; $i++) {
                 $commandName .= strtolower($explodedSectionName[$i]) . ':';
             }
             $commandName .= preg_replace('/Command/i', "", $explodedSectionName[$nbOfChunk - 1], 1);
             // Get Action List
             $classReflection = new \ReflectionClass($call);
             $actionList = $classReflection->getMethods(\ReflectionMethod::IS_PUBLIC);
             foreach ($actionList as $action) {
                 if (strpos($action->getName(), "Action")) {
                     $actionName = str_replace("Action", "", $action->getName());
                     $colorizedAction = Colorize::colorizeText($actionName, "yellow", "black", true);
                     echo "    {$moduleColorized}:{$commandName}:{$colorizedAction}\n";
                 }
             }
             echo "\n";
         }
         echo "\n\n";
     }
 }
Ejemplo n.º 5
0
 /**
  * 
  * @param boolean $installDefault
  */
 protected function installDb($installDefault = true)
 {
     echo "Updating " . Colorize::colorizeText('centreon', 'blue', 'black', true) . " database... ";
     Db::update($this->moduleSlug);
     echo Colorize::colorizeText('Done', 'green', 'black', true) . "\n";
     if ($installDefault) {
         Db::loadDefaultDatas($this->moduleDirectory . 'install/datas');
     }
 }
Ejemplo n.º 6
0
 /**
  * @todo After seeing Propel
  */
 public function installDb($installDefault = true)
 {
     // Initialize configuration
     $di = Di::getDefault();
     $config = $di->get('config');
     $dbName = $config->get('db_centreon', 'dbname');
     echo "Updating " . Colorize::colorizeText('centreon', 'blue', 'black', true) . " database... ";
     Db::update($dbName);
     echo Colorize::colorizeText('Done', 'green', 'black', true) . "\n";
     if ($installDefault) {
         Db::loadDefaultDatas($this->moduleDirectory . 'install/datas');
     }
 }