public function actionSetConfig()
    {
       
        
        // The values accepted in the 'loaded', 'loadAtStartup' and 'ghost' columns of
        // the extensions table are 0 | 1.
        $configValue = $this->options['configValue'];
        $configParam = $this->options['configParameter'];
        $extensionId = $this->options['extension'];
        
        try{
            $ext = common_ext_ExtensionsManager::singleton()->getExtensionById($extensionId);
            $currentConfig = $ext->getConfiguration();
            
            if ($currentConfig == null){
                $this->error("The extension '${extensionId} is not referenced.", true);
            }
            else{
                // Change the configuration with the new value.
                switch ($configParam){
                    case 'loaded':
                        $currentConfig->loaded = $configValue;
                    break;
                    
                    case 'loadAtStartup':
                        $currentConfig->loadedAtStartUp = $configValue;
                    break;
                    
                    case 'ghost':
                        $currentConfig->ghost = $configValue;
                    break;
                    
                    default:
                        $this->error("Unknown configuration parameter '${configParam}'.", true);
                    break;
                }
            
                $currentConfig->save($ext);
                $this->outVerbose("Configuration parameter '${configParam}' successfully updated to " . (($configValue == true) ? 1 : 0) . " for extension '${extensionId}'.");
            }
        }
        catch (common_ext_ExtensionException $e){
            $this->error("The extension '${extensionId}' does not exist or has no manifest.", true);
        }
        
    }