public function saveSettings()
    {
        $this->validateParameters();
        
        $old_dirty_state = $this->temp_settings["__dirty"];
        unset($this->temp_settings["__dirty"]);
        
        if ($this->saveSettingsData($this->temp_settings)) {
            $this->settings = $this->temp_settings;
            return true;
        }
        
        $this->temp_settings["__dirty"] = $old_dirty_state;
        
        return false;
    }