DBConnection::createDBSlaveConfig PHP Méthode

createDBSlaveConfig() static public méthode

Create a default slave DB configuration file
static public createDBSlaveConfig ( )
    static function createDBSlaveConfig()
    {
        self::createSlaveConnectionFile("localhost", "glpi", "glpi", "glpi");
    }

Usage Example

 /**
  * Prepare input datas for updating the item
  *
  * @see CommonDBTM::prepareInputForUpdate()
  *
  * @param $input array of datas used to update the item
  *
  * @return the modified $input array
  **/
 function prepareInputForUpdate($input)
 {
     global $CFG_GLPI;
     // Update only an item
     if (isset($input['context'])) {
         return $input;
     }
     // Process configuration for plugins
     if (!empty($input['config_context'])) {
         $config_context = $input['config_context'];
         unset($input['id']);
         unset($input['_glpi_csrf_token']);
         unset($input['update']);
         unset($input['config_context']);
         if (!empty($input['config_class']) && class_exists($input['config_class']) && method_exists($input['config_class'], 'configUpdate')) {
             $config_method = $input['config_class'] . '::configUpdate';
             unset($input['config_class']);
             $input = call_user_func($config_method, $input);
         }
         $this->setConfigurationValues($config_context, $input);
         return false;
     }
     if (isset($input['allow_search_view']) && !$input['allow_search_view']) {
         // Global search need "view"
         $input['allow_search_global'] = 0;
     }
     if (isset($input["smtp_passwd"])) {
         if (empty($input["smtp_passwd"])) {
             unset($input["smtp_passwd"]);
         } else {
             $input["smtp_passwd"] = Toolbox::encrypt(stripslashes($input["smtp_passwd"]), GLPIKEY);
         }
     }
     if (isset($input["_blank_smtp_passwd"]) && $input["_blank_smtp_passwd"]) {
         $input['smtp_passwd'] = '';
     }
     if (isset($input["proxy_passwd"])) {
         if (empty($input["proxy_passwd"])) {
             unset($input["proxy_passwd"]);
         } else {
             $input["proxy_passwd"] = Toolbox::encrypt(stripslashes($input["proxy_passwd"]), GLPIKEY);
         }
     }
     if (isset($input["_blank_proxy_passwd"]) && $input["_blank_proxy_passwd"]) {
         $input['proxy_passwd'] = '';
     }
     // Manage DB Slave process
     if (isset($input['_dbslave_status'])) {
         $already_active = DBConnection::isDBSlaveActive();
         if ($input['_dbslave_status']) {
             DBConnection::changeCronTaskStatus(true);
             if (!$already_active) {
                 // Activate Slave from the "system" tab
                 DBConnection::createDBSlaveConfig();
             } else {
                 if (isset($input["_dbreplicate_dbhost"])) {
                     // Change parameter from the "replicate" tab
                     DBConnection::saveDBSlaveConf($input["_dbreplicate_dbhost"], $input["_dbreplicate_dbuser"], $input["_dbreplicate_dbpassword"], $input["_dbreplicate_dbdefault"]);
                 }
             }
         }
         if (!$input['_dbslave_status'] && $already_active) {
             DBConnection::deleteDBSlaveConfig();
             DBConnection::changeCronTaskStatus(false);
         }
     }
     // Matrix for Impact / Urgence / Priority
     if (isset($input['_matrix'])) {
         $tab = array();
         for ($urgency = 1; $urgency <= 5; $urgency++) {
             for ($impact = 1; $impact <= 5; $impact++) {
                 $priority = $input["_matrix_{$urgency}_{$impact}"];
                 $tab[$urgency][$impact] = $priority;
             }
         }
         $input['priority_matrix'] = exportArrayToDB($tab);
         $input['urgency_mask'] = 0;
         $input['impact_mask'] = 0;
         for ($i = 1; $i <= 5; $i++) {
             if ($input["_urgency_{$i}"]) {
                 $input['urgency_mask'] += 1 << $i;
             }
             if ($input["_impact_{$i}"]) {
                 $input['impact_mask'] += 1 << $i;
             }
         }
     }
     // Beware : with new management system, we must update each value
     unset($input['id']);
     unset($input['_glpi_csrf_token']);
     unset($input['update']);
     // Add skipMaintenance if maintenance mode update
     if (isset($input['maintenance_mode']) && $input['maintenance_mode']) {
         $_SESSION['glpiskipMaintenance'] = 1;
         $url = $CFG_GLPI['root_doc'] . "/index.php?skipMaintenance=1";
         Session::addMessageAfterRedirect(sprintf(__('Maintenance mode activated. Backdoor using: %s'), "<a href='{$url}'>{$url}</a>"), false, WARNING);
     }
     $this->setConfigurationValues('core', $input);
     return false;
 }
All Usage Examples Of DBConnection::createDBSlaveConfig